{
  "openapi": "3.0.0",
  "info": {
    "title": "Delphix DCT API",
    "version": "3.30.0",
    "description": "Delphix DCT API",
    "contact": {
      "name": "Delphix Support",
      "url": "https://portal.perforce.com/s/",
      "email": "support@delphix.com"
    }
  },
  "servers": [
    {
      "url": "/dct/v3"
    }
  ],
  "paths": {
    "/hyperscale-instances": {
      "post": {
        "tags": [
          "HyperscaleInstance"
        ],
        "summary": "Register a Hyperscale instance",
        "operationId": "register_hyperscale_instance",
        "parameters": [
          {
            "in": "query",
            "name": "validate_instance",
            "required": false,
            "schema": {
              "type": "boolean",
              "default": false
            },
            "description": "If true, validates the registering hyperscale orchestrator and identify dataType."
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "x-body-name": "hyperscale_instance",
                "$ref": "#/components/schemas/HyperscaleInstanceRegistrationParameter"
              }
            }
          },
          "description": "The parameters to register a Hyperscale instance.",
          "required": true
        },
        "responses": {
          "201": {
            "description": "Created",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HyperscaleInstance"
                }
              }
            }
          }
        }
      },
      "get": {
        "tags": [
          "HyperscaleInstance"
        ],
        "summary": "Returns a list of Hyperscale instances.",
        "operationId": "get_hyperscale_instances",
        "parameters": [
          {
            "$ref": "#/components/parameters/limit"
          },
          {
            "$ref": "#/components/parameters/cursor"
          },
          {
            "$ref": "#/components/parameters/hyperscaleInstancesSortParam"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "ListHyperscaleInstancesResponse",
                  "properties": {
                    "items": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/HyperscaleInstance"
                      }
                    },
                    "response_metadata": {
                      "$ref": "#/components/schemas/PaginatedResponseMetadata"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/hyperscale-instances/search": {
      "post": {
        "summary": "Search for Hyperscale instances.",
        "operationId": "search_hyperscale_instances",
        "tags": [
          "HyperscaleInstance"
        ],
        "x-filterable": {
          "fields": {
            "id": {
              "type": "string"
            },
            "name": {
              "type": "string"
            },
            "hostname": {
              "type": "string"
            },
            "creation_date": {
              "type": "string"
            },
            "data_type": {
              "type": "string"
            },
            "insecure_ssl": {
              "type": "boolean"
            },
            "unsafe_ssl_hostname_check": {
              "type": "boolean"
            },
            "status": {
              "type": "string"
            },
            "connection_status": {
              "type": "string"
            },
            "connection_status_details": {
              "type": "string"
            },
            "tags": {
              "type": "array[object]",
              "fields": {
                "key": {
                  "type": "string"
                },
                "value": {
                  "type": "string"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/limit"
          },
          {
            "$ref": "#/components/parameters/cursor"
          },
          {
            "$ref": "#/components/parameters/hyperscaleInstancesSortParam"
          }
        ],
        "requestBody": {
          "$ref": "#/components/requestBodies/SearchBody"
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "SearchHyperscaleInstancesResponse",
                  "properties": {
                    "items": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/HyperscaleInstance"
                      }
                    },
                    "response_metadata": {
                      "$ref": "#/components/schemas/PaginatedResponseMetadata"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/hyperscale-instances/{hyperscaleInstanceId}": {
      "parameters": [
        {
          "$ref": "#/components/parameters/hyperscaleInstanceId"
        }
      ],
      "get": {
        "tags": [
          "HyperscaleInstance"
        ],
        "summary": "Returns a Hyperscale Instance by ID.",
        "operationId": "get_hyperscale_instance_by_id",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HyperscaleInstance"
                }
              }
            }
          }
        }
      },
      "patch": {
        "tags": [
          "HyperscaleInstance"
        ],
        "summary": "Update an Hyperscale Instance",
        "operationId": "update_hyperscale_instance",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "x-body-name": "hyperscale_instance_update_params",
                "$ref": "#/components/schemas/HyperscaleInstanceUpdateParams"
              }
            }
          },
          "description": "Update parameters for a hyperscale instance.",
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HyperscaleInstance"
                }
              }
            }
          }
        }
      }
    },
    "/hyperscale-instances/{hyperscaleInstanceId}/delete": {
      "parameters": [
        {
          "$ref": "#/components/parameters/hyperscaleInstanceId"
        }
      ],
      "post": {
        "tags": [
          "HyperscaleInstance"
        ],
        "summary": "Unregister a Hyperscale Instance.",
        "operationId": "unregister_hyperscale_instance",
        "description": "Unregisters a Hyperscale Orchestrator from DCT. Detaches compliance jobs and clears HS tuning metadata. Set force_delete=true to proceed when the orchestrator is unreachable or has active executions that need to be cancelled first.\n",
        "requestBody": {
          "description": "The parameters to delete a Hyperscale instance.",
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "x-body-name": "unregister_hyperscale_instance_parameters",
                "$ref": "#/components/schemas/UnregisterHyperscaleInstanceParameters"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "UnregisterHyperscaleInstanceResponse",
                  "properties": {
                    "job": {
                      "$ref": "#/components/schemas/Job",
                      "description": "The initiated job."
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/hyperscale-instances/{hyperscaleInstanceId}/tags": {
      "parameters": [
        {
          "$ref": "#/components/parameters/hyperscaleInstanceId"
        }
      ],
      "post": {
        "tags": [
          "HyperscaleInstance"
        ],
        "summary": "Create tags for a Hyperscale Instance.",
        "operationId": "create_hyperscale_instance_tags",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "x-body-name": "hyperscale_instance_tags",
                "$ref": "#/components/schemas/TagsRequest"
              }
            }
          },
          "description": "Tags information for Hyperscale Instance.",
          "required": true
        },
        "responses": {
          "201": {
            "description": "Created",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TagsResponse"
                }
              }
            }
          }
        }
      },
      "get": {
        "tags": [
          "HyperscaleInstance"
        ],
        "summary": "Get tags for a Hyperscale Instance.",
        "operationId": "get_hyperscale_instance_tags",
        "responses": {
          "200": {
            "description": "Ok",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TagsResponse"
                }
              }
            }
          }
        }
      }
    },
    "/hyperscale-instances/{hyperscaleInstanceId}/tags/delete": {
      "parameters": [
        {
          "$ref": "#/components/parameters/hyperscaleInstanceId"
        }
      ],
      "post": {
        "tags": [
          "HyperscaleInstance"
        ],
        "summary": "Delete tags for a Hyperscale Instance.",
        "operationId": "delete_hyperscale_instance_tags",
        "requestBody": {
          "$ref": "#/components/requestBodies/DeleteTags"
        },
        "responses": {
          "204": {
            "description": "No Content"
          }
        }
      }
    },
    "/hyperscale-instances/{hyperscaleInstanceId}/sync-engines": {
      "parameters": [
        {
          "$ref": "#/components/parameters/hyperscaleInstanceId"
        }
      ],
      "post": {
        "tags": [
          "HyperscaleInstance"
        ],
        "summary": "Sync the global object from a source engine to engines on a Hyperscale Instance.",
        "operationId": "sync_engines_hyperscale_instance",
        "requestBody": {
          "description": "The parameters to synchronize a Hyperscale instance.",
          "content": {
            "application/json": {
              "schema": {
                "x-body-name": "sync_engines_hyperscale_parameter",
                "$ref": "#/components/schemas/SyncEnginesHyperscaleParameters",
                "required": true
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "SyncEnginesHyperscaleResponse",
                  "properties": {
                    "job": {
                      "$ref": "#/components/schemas/Job"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/hyperscale-instances/{hyperscaleInstanceId}/add-engine": {
      "parameters": [
        {
          "$ref": "#/components/parameters/hyperscaleInstanceId"
        }
      ],
      "post": {
        "tags": [
          "HyperscaleInstance"
        ],
        "summary": "Add an engine to a Hyperscale Instance.",
        "operationId": "add_engine_to_hyperscale_instance",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "x-body-name": "engine_id",
                "$ref": "#/components/schemas/EngineIdBody"
              }
            }
          },
          "description": "Body containing the ID of the registered engine.",
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "AddEngineToHyperscaleResponse",
                  "properties": {
                    "job": {
                      "$ref": "#/components/schemas/Job"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/hyperscale-instances/{hyperscaleInstanceId}/remove-engine": {
      "parameters": [
        {
          "$ref": "#/components/parameters/hyperscaleInstanceId"
        }
      ],
      "post": {
        "tags": [
          "HyperscaleInstance"
        ],
        "summary": "Remove an engine from a Hyperscale Instance.",
        "operationId": "remove_engine_from_hyperscale_instance",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "x-body-name": "engine_id",
                "$ref": "#/components/schemas/EngineIdBody"
              }
            }
          },
          "description": "Body containing the ID of the registered engine.",
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "RemoveEngineFromHyperscaleResponse",
                  "properties": {
                    "job": {
                      "$ref": "#/components/schemas/Job"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/hyperscale-instances/{hyperscaleInstanceId}/move-to-job-orchestrator": {
      "parameters": [
        {
          "$ref": "#/components/parameters/hyperscaleInstanceId"
        }
      ],
      "put": {
        "tags": [
          "HyperscaleInstance"
        ],
        "summary": "Move compliance nodes from a hyperscale orchestrator to a job orchestrator.",
        "operationId": "move_compliance_nodes_to_job_orchestrator",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "x-body-name": "move_to_job_orchestrator_request",
                "$ref": "#/components/schemas/MoveComplianceNodesToJobOrchestratorRequest"
              }
            }
          },
          "description": "The parameters to move compliance nodes to a job orchestrator.",
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MoveComplianceNodesResponse"
                }
              }
            }
          }
        }
      }
    },
    "/hyperscale-mount-points": {
      "get": {
        "tags": [
          "HyperscaleObjects"
        ],
        "summary": "Returns a list of Hyperscale Mount Points.",
        "operationId": "get_hyperscale_mount_points",
        "parameters": [
          {
            "$ref": "#/components/parameters/limit"
          },
          {
            "$ref": "#/components/parameters/cursor"
          },
          {
            "$ref": "#/components/parameters/hyperscaleMountPointsSortParam"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "ListHyperscaleMountPointsResponse",
                  "properties": {
                    "items": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/HyperscaleMountPoint"
                      }
                    },
                    "response_metadata": {
                      "$ref": "#/components/schemas/PaginatedResponseMetadata"
                    }
                  }
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "HyperscaleObjects"
        ],
        "summary": "Create a Hyperscale Mount Point",
        "operationId": "create_hyperscale_mount_point",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "x-body-name": "hyperscale_mount_point",
                "$ref": "#/components/schemas/HyperscaleMountPoint"
              }
            }
          },
          "description": "Request to create a Hyperscale Mount Point.",
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "CreateHyperscaleMountPointResponse",
                  "properties": {
                    "id": {
                      "type": "string",
                      "description": "The created Hyperscale Mount Point's ID"
                    },
                    "job": {
                      "$ref": "#/components/schemas/Job",
                      "description": "The initiated job."
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/hyperscale-mount-points/{hyperscaleMountPointId}": {
      "parameters": [
        {
          "$ref": "#/components/parameters/hyperscaleMountPointIdParam"
        }
      ],
      "get": {
        "tags": [
          "HyperscaleObjects"
        ],
        "summary": "Get a Hyperscale Mount Points.",
        "operationId": "get_hyperscale_mount_point_by_id",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HyperscaleMountPoint"
                }
              }
            }
          }
        }
      },
      "patch": {
        "tags": [
          "HyperscaleObjects"
        ],
        "summary": "Update a Hyperscale Mount Point by ID.",
        "operationId": "update_hyperscale_mount_point_by_id",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "x-body-name": "update_hyperscale_mount_point_parameter",
                "$ref": "#/components/schemas/HyperscaleMountPointUpdateParameters"
              }
            }
          },
          "description": "The new data to update a Hyperscale Mount Point."
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "UpdateHyperscaleMountPointResponse",
                  "properties": {
                    "job": {
                      "$ref": "#/components/schemas/Job"
                    }
                  }
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "HyperscaleObjects"
        ],
        "summary": "Delete a Hyperscale Mount Point.",
        "operationId": "delete_hyperscale_mount_point",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "DeleteHyperscaleMountPointResponse",
                  "properties": {
                    "job": {
                      "$ref": "#/components/schemas/Job",
                      "description": "The initiated job."
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/hyperscale-mount-points/{hyperscaleMountPointId}/validate": {
      "parameters": [
        {
          "$ref": "#/components/parameters/hyperscaleMountPointIdParam"
        }
      ],
      "get": {
        "tags": [
          "HyperscaleObjects"
        ],
        "summary": "Validate the permissions for the Hyperscale Mount Point.",
        "operationId": "validate_hyperscale_mount_point",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "$ref": "#/components/schemas/ValidateHyperscaleMountPointResponse"
                }
              }
            }
          }
        }
      }
    },
    "/hyperscale-mount-points/search": {
      "post": {
        "summary": "Search for Hyperscale Mount Points.",
        "operationId": "search_hyperscale_mount_points",
        "tags": [
          "HyperscaleObjects"
        ],
        "x-filterable": {
          "fields": {
            "id": {
              "type": "string"
            },
            "hyperscale_instance_id": {
              "type": "string"
            },
            "name": {
              "type": "string"
            },
            "hostname": {
              "type": "string"
            },
            "mount_type": {
              "type": "string"
            },
            "mount_path": {
              "type": "string"
            },
            "options": {
              "type": "string"
            },
            "staging_storage_type": {
              "type": "string"
            },
            "auth_mechanism": {
              "type": "string"
            },
            "aws_bucket_name": {
              "type": "string"
            },
            "aws_bucket_region": {
              "type": "string"
            },
            "aws_bucket_prefix": {
              "type": "string"
            },
            "aws_bucket_delimiter": {
              "type": "string"
            },
            "blob_auth_type": {
              "type": "string"
            },
            "blob_account_name": {
              "type": "string"
            },
            "blob_container_name": {
              "type": "string"
            },
            "blob_container_prefix": {
              "type": "string"
            },
            "blob_container_delimiter": {
              "type": "string"
            }
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/limit"
          },
          {
            "$ref": "#/components/parameters/cursor"
          },
          {
            "$ref": "#/components/parameters/hyperscaleMountPointsSortParam"
          }
        ],
        "requestBody": {
          "$ref": "#/components/requestBodies/SearchBody"
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "SearchHyperscaleMountPointsResponse",
                  "properties": {
                    "items": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/HyperscaleMountPoint"
                      }
                    },
                    "response_metadata": {
                      "$ref": "#/components/schemas/PaginatedResponseMetadata"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/mount-filesystem": {
      "get": {
        "tags": [
          "MountInformation"
        ],
        "summary": "Returns a list of Mount Information.",
        "operationId": "get_mount_information_list",
        "parameters": [
          {
            "$ref": "#/components/parameters/limit"
          },
          {
            "$ref": "#/components/parameters/cursor"
          },
          {
            "$ref": "#/components/parameters/mountInformationSortParam"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "MountInformationListResponse",
                  "properties": {
                    "items": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/MountInformation"
                      }
                    },
                    "response_metadata": {
                      "$ref": "#/components/schemas/PaginatedResponseMetadata"
                    }
                  }
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "MountInformation"
        ],
        "summary": "Create a Mount Information.",
        "operationId": "create_mount_information",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "x-body-name": "mount_information",
                "$ref": "#/components/schemas/MountInformationCreateRequest"
              }
            }
          },
          "description": "Request to create a Mount Information.",
          "required": true
        },
        "responses": {
          "201": {
            "description": "Created",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "MountInformationCreateResponse",
                  "properties": {
                    "job": {
                      "$ref": "#/components/schemas/Job",
                      "description": "The completed job."
                    },
                    "id": {
                      "type": "string",
                      "description": "The ID of the created Mount Information object."
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/mount-filesystem/{mountInformationId}/tags": {
      "parameters": [
        {
          "$ref": "#/components/parameters/mountInformationIdParam"
        }
      ],
      "post": {
        "tags": [
          "MountInformation"
        ],
        "summary": "Create tags for a Mount Information.",
        "operationId": "create_mount_information_tags",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "x-body-name": "mount_information_tags",
                "$ref": "#/components/schemas/TagsRequest"
              }
            }
          },
          "description": "Tags information for Mount Information.",
          "required": true
        },
        "responses": {
          "201": {
            "description": "Created",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TagsResponse"
                }
              }
            }
          }
        }
      },
      "get": {
        "tags": [
          "MountInformation"
        ],
        "summary": "Get tags for a Mount Information.",
        "operationId": "get_mount_information_tags",
        "responses": {
          "200": {
            "description": "Ok",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TagsResponse"
                }
              }
            }
          }
        }
      }
    },
    "/mount-filesystem/{mountInformationId}/tags/delete": {
      "parameters": [
        {
          "$ref": "#/components/parameters/mountInformationIdParam"
        }
      ],
      "post": {
        "tags": [
          "MountInformation"
        ],
        "summary": "Delete tags for a Mount Information.",
        "operationId": "delete_mount_information_tag",
        "requestBody": {
          "$ref": "#/components/requestBodies/DeleteTags",
          "required": false
        },
        "responses": {
          "204": {
            "description": "No Content"
          }
        }
      }
    },
    "/mount-filesystem/{mountInformationId}": {
      "parameters": [
        {
          "$ref": "#/components/parameters/mountInformationIdParam"
        }
      ],
      "get": {
        "tags": [
          "MountInformation"
        ],
        "summary": "Get a Mount Information by ID.",
        "operationId": "get_mount_information_by_id",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MountInformation"
                }
              }
            }
          }
        }
      },
      "patch": {
        "tags": [
          "MountInformation"
        ],
        "summary": "Update a Mount Information by ID.",
        "operationId": "update_mount_information_by_id",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "x-body-name": "update_mount_information_parameter",
                "$ref": "#/components/schemas/MountInformationUpdateRequest"
              }
            }
          },
          "description": "The new data to update a Mount Information."
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "MountInformationUpdateResponse",
                  "properties": {
                    "job": {
                      "$ref": "#/components/schemas/Job",
                      "description": "The completed job."
                    }
                  }
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "MountInformation"
        ],
        "summary": "Delete a Mount Information.",
        "operationId": "delete_mount_information",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "MountInformationDeleteResponse",
                  "properties": {
                    "job": {
                      "$ref": "#/components/schemas/Job",
                      "description": "The completed job."
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/mount-filesystem/search": {
      "post": {
        "summary": "Search for Mount Information.",
        "operationId": "search_mount_information",
        "tags": [
          "MountInformation"
        ],
        "x-filterable": {
          "fields": {
            "id": {
              "type": "string"
            },
            "name": {
              "type": "string"
            },
            "host_address": {
              "type": "string"
            },
            "mount_path": {
              "type": "string"
            },
            "type": {
              "type": "string"
            },
            "connect_on_startup": {
              "type": "boolean"
            },
            "status": {
              "type": "string"
            },
            "options": {
              "type": "string"
            },
            "job_orchestrator_id": {
              "type": "string"
            },
            "job_orchestrator_name": {
              "type": "string"
            },
            "tags": {
              "type": "array[object]",
              "fields": {
                "key": {
                  "type": "string"
                },
                "value": {
                  "type": "string"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/limit"
          },
          {
            "$ref": "#/components/parameters/cursor"
          },
          {
            "$ref": "#/components/parameters/mountInformationSortParam"
          }
        ],
        "requestBody": {
          "$ref": "#/components/requestBodies/SearchBody"
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "MountInformationSearchResponse",
                  "properties": {
                    "items": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/MountInformation"
                      }
                    },
                    "response_metadata": {
                      "$ref": "#/components/schemas/PaginatedResponseMetadata"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/record-types": {
      "get": {
        "tags": [
          "RecordTypes"
        ],
        "summary": "Returns a list of Record Types.",
        "operationId": "get_record_type_list",
        "parameters": [
          {
            "$ref": "#/components/parameters/limit"
          },
          {
            "$ref": "#/components/parameters/cursor"
          },
          {
            "$ref": "#/components/parameters/recordTypeSortParam"
          },
          {
            "name": "file_format_id",
            "in": "query",
            "description": "Filter results to record types belonging to this file format.",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "RecordTypeListResponse",
                  "properties": {
                    "items": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/RecordType"
                      }
                    },
                    "response_metadata": {
                      "$ref": "#/components/schemas/PaginatedResponseMetadata"
                    }
                  }
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "RecordTypes"
        ],
        "summary": "Create a Record Type.",
        "operationId": "create_record_type",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "x-body-name": "record_type",
                "$ref": "#/components/schemas/RecordTypeCreateRequest"
              }
            }
          },
          "description": "Request to create a Record Type.",
          "required": true
        },
        "responses": {
          "201": {
            "description": "Created",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "RecordTypeCreateResponse",
                  "properties": {
                    "job": {
                      "$ref": "#/components/schemas/Job",
                      "description": "The completed job."
                    },
                    "id": {
                      "type": "string",
                      "description": "The ID of the created Record Type object."
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/record-types/{recordTypeId}": {
      "parameters": [
        {
          "$ref": "#/components/parameters/recordTypeIdParam"
        }
      ],
      "get": {
        "tags": [
          "RecordTypes"
        ],
        "summary": "Get a Record Type by ID.",
        "operationId": "get_record_type_by_id",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RecordType"
                }
              }
            }
          }
        }
      },
      "patch": {
        "tags": [
          "RecordTypes"
        ],
        "summary": "Update a Record Type by ID.",
        "operationId": "update_record_type_by_id",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "x-body-name": "update_record_type_parameter",
                "$ref": "#/components/schemas/RecordTypeUpdateRequest"
              }
            }
          },
          "description": "The new data to update a Record Type."
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "RecordTypeUpdateResponse",
                  "properties": {
                    "job": {
                      "$ref": "#/components/schemas/Job",
                      "description": "The completed job."
                    }
                  }
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "RecordTypes"
        ],
        "summary": "Delete a Record Type.",
        "operationId": "delete_record_type",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "RecordTypeDeleteResponse",
                  "properties": {
                    "job": {
                      "$ref": "#/components/schemas/Job",
                      "description": "The completed job."
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/record-types/search": {
      "post": {
        "summary": "Search for Record Types.",
        "operationId": "search_record_types",
        "tags": [
          "RecordTypes"
        ],
        "x-filterable": {
          "fields": {
            "id": {
              "type": "string"
            },
            "file_format_id": {
              "type": "string"
            },
            "file_format_name": {
              "type": "string"
            },
            "record_type_name": {
              "type": "string"
            },
            "header_body_trailer_cd": {
              "type": "string"
            },
            "account_id": {
              "type": "string"
            },
            "account_name": {
              "type": "string"
            }
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/limit"
          },
          {
            "$ref": "#/components/parameters/cursor"
          },
          {
            "$ref": "#/components/parameters/recordTypeSortParam"
          }
        ],
        "requestBody": {
          "$ref": "#/components/requestBodies/SearchBody"
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "RecordTypeSearchResponse",
                  "properties": {
                    "items": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/RecordType"
                      }
                    },
                    "response_metadata": {
                      "$ref": "#/components/schemas/PaginatedResponseMetadata"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/record-type-qualifiers": {
      "get": {
        "tags": [
          "RecordTypeQualifiers"
        ],
        "summary": "Returns a list of Record Type Qualifiers.",
        "operationId": "get_record_type_qualifier_list",
        "parameters": [
          {
            "$ref": "#/components/parameters/limit"
          },
          {
            "$ref": "#/components/parameters/cursor"
          },
          {
            "$ref": "#/components/parameters/recordTypeQualifierSortParam"
          },
          {
            "name": "record_type_id",
            "in": "query",
            "description": "Filter results to record type qualifiers belonging to this record type.",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "RecordTypeQualifierListResponse",
                  "properties": {
                    "items": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/RecordTypeQualifier"
                      }
                    },
                    "response_metadata": {
                      "$ref": "#/components/schemas/PaginatedResponseMetadata"
                    }
                  }
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "RecordTypeQualifiers"
        ],
        "summary": "Create a Record Type Qualifier.",
        "operationId": "create_record_type_qualifier",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "x-body-name": "record_type_qualifier",
                "$ref": "#/components/schemas/RecordTypeQualifierCreateRequest"
              }
            }
          },
          "description": "Request to create a Record Type Qualifier.",
          "required": true
        },
        "responses": {
          "201": {
            "description": "Created",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "RecordTypeQualifierCreateResponse",
                  "properties": {
                    "job": {
                      "$ref": "#/components/schemas/Job",
                      "description": "The completed job."
                    },
                    "id": {
                      "type": "string",
                      "description": "The ID of the created Record Type Qualifier object."
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/record-type-qualifiers/{recordTypeQualifierId}": {
      "parameters": [
        {
          "$ref": "#/components/parameters/recordTypeQualifierIdParam"
        }
      ],
      "get": {
        "tags": [
          "RecordTypeQualifiers"
        ],
        "summary": "Get a Record Type Qualifier by ID.",
        "operationId": "get_record_type_qualifier_by_id",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RecordTypeQualifier"
                }
              }
            }
          }
        }
      },
      "patch": {
        "tags": [
          "RecordTypeQualifiers"
        ],
        "summary": "Update a Record Type Qualifier by ID.",
        "operationId": "update_record_type_qualifier_by_id",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "x-body-name": "update_record_type_qualifier_parameter",
                "$ref": "#/components/schemas/RecordTypeQualifierUpdateRequest"
              }
            }
          },
          "description": "The new data to update a Record Type Qualifier."
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "RecordTypeQualifierUpdateResponse",
                  "properties": {
                    "job": {
                      "$ref": "#/components/schemas/Job",
                      "description": "The completed job."
                    }
                  }
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "RecordTypeQualifiers"
        ],
        "summary": "Delete a Record Type Qualifier.",
        "operationId": "delete_record_type_qualifier",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "RecordTypeQualifierDeleteResponse",
                  "properties": {
                    "job": {
                      "$ref": "#/components/schemas/Job",
                      "description": "The completed job."
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/record-type-qualifiers/search": {
      "post": {
        "summary": "Search for Record Type Qualifiers.",
        "operationId": "search_record_type_qualifiers",
        "tags": [
          "RecordTypeQualifiers"
        ],
        "x-filterable": {
          "fields": {
            "id": {
              "type": "string"
            },
            "record_type_id": {
              "type": "string"
            },
            "record_type_name": {
              "type": "string"
            },
            "record_type_identifier": {
              "type": "string"
            },
            "position_no": {
              "type": "integer"
            },
            "length_no": {
              "type": "integer"
            },
            "account_id": {
              "type": "string"
            },
            "account_name": {
              "type": "string"
            },
            "file_format_id": {
              "type": "string"
            },
            "file_format_name": {
              "type": "string"
            }
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/limit"
          },
          {
            "$ref": "#/components/parameters/cursor"
          },
          {
            "$ref": "#/components/parameters/recordTypeQualifierSortParam"
          }
        ],
        "requestBody": {
          "$ref": "#/components/requestBodies/SearchBody"
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "RecordTypeQualifierSearchResponse",
                  "properties": {
                    "items": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/RecordTypeQualifier"
                      }
                    },
                    "response_metadata": {
                      "$ref": "#/components/schemas/PaginatedResponseMetadata"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/file-field-metadata": {
      "get": {
        "tags": [
          "FileFieldMetadata"
        ],
        "summary": "Returns a list of File Field Metadata entries.",
        "operationId": "get_file_field_metadata_list",
        "parameters": [
          {
            "$ref": "#/components/parameters/limit"
          },
          {
            "$ref": "#/components/parameters/cursor"
          },
          {
            "$ref": "#/components/parameters/fileFieldMetadataSortParam"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "FileFieldMetadataListResponse",
                  "properties": {
                    "items": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/FileFieldMetadata"
                      }
                    },
                    "response_metadata": {
                      "$ref": "#/components/schemas/PaginatedResponseMetadata"
                    }
                  }
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "FileFieldMetadata"
        ],
        "summary": "Create a File Field Metadata entry.",
        "operationId": "create_file_field_metadata",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "x-body-name": "file_field_metadata",
                "$ref": "#/components/schemas/FileFieldMetadataCreateRequest"
              }
            }
          },
          "description": "Request to create a File Field Metadata entry.",
          "required": true
        },
        "responses": {
          "201": {
            "description": "Created",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "FileFieldMetadataCreateResponse",
                  "properties": {
                    "job": {
                      "$ref": "#/components/schemas/Job",
                      "description": "The completed job."
                    },
                    "id": {
                      "type": "string",
                      "description": "The UUID of the created File Field Metadata."
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/file-field-metadata/search": {
      "post": {
        "summary": "Search for File Field Metadata.",
        "operationId": "search_file_field_metadata",
        "tags": [
          "FileFieldMetadata"
        ],
        "x-filterable": {
          "fields": {
            "id": {
              "type": "string"
            },
            "name": {
              "type": "string"
            },
            "xpath": {
              "type": "string"
            },
            "position_no": {
              "type": "integer"
            },
            "length_no": {
              "type": "integer"
            },
            "record_type_id": {
              "type": "string"
            },
            "record_type_name": {
              "type": "string"
            },
            "file_format_id": {
              "type": "string"
            },
            "file_format_name": {
              "type": "string"
            },
            "algorithm_id": {
              "type": "string"
            },
            "algorithm_name": {
              "type": "string"
            },
            "data_class_id": {
              "type": "string"
            },
            "data_class_name": {
              "type": "string"
            },
            "document_store_type": {
              "type": "string"
            }
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/limit"
          },
          {
            "$ref": "#/components/parameters/cursor"
          },
          {
            "$ref": "#/components/parameters/fileFieldMetadataSortParam"
          }
        ],
        "requestBody": {
          "$ref": "#/components/requestBodies/SearchBody"
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "FileFieldMetadataSearchResponse",
                  "properties": {
                    "items": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/FileFieldMetadata"
                      }
                    },
                    "response_metadata": {
                      "$ref": "#/components/schemas/PaginatedResponseMetadata"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/file-field-metadata/{fileFieldMetadataId}": {
      "parameters": [
        {
          "$ref": "#/components/parameters/fileFieldMetadataIdParam"
        }
      ],
      "get": {
        "tags": [
          "FileFieldMetadata"
        ],
        "summary": "Get a File Field Metadata entry by ID.",
        "operationId": "get_file_field_metadata_by_id",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FileFieldMetadata"
                }
              }
            }
          }
        }
      },
      "patch": {
        "tags": [
          "FileFieldMetadata"
        ],
        "summary": "Update a File Field Metadata entry.",
        "operationId": "update_file_field_metadata",
        "requestBody": {
          "required": true,
          "description": "The fields to update on this File Field Metadata entry.",
          "content": {
            "application/json": {
              "schema": {
                "x-body-name": "file_field_metadata_update_request",
                "$ref": "#/components/schemas/FileFieldMetadataUpdateRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "FileFieldMetadataUpdateResponse",
                  "properties": {
                    "job": {
                      "$ref": "#/components/schemas/Job",
                      "description": "The completed job."
                    }
                  }
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "FileFieldMetadata"
        ],
        "summary": "Delete a File Field Metadata entry.",
        "operationId": "delete_file_field_metadata",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "FileFieldMetadataDeleteResponse",
                  "properties": {
                    "job": {
                      "$ref": "#/components/schemas/Job",
                      "description": "The completed job."
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/mainframe-dataset-field-metadata/{mainframeDatasetFieldMetadataId}": {
      "parameters": [
        {
          "$ref": "#/components/parameters/mainframeDatasetFieldMetadataIdParam"
        }
      ]
    },
    "/file-metadata": {
      "get": {
        "tags": [
          "FileMetadata"
        ],
        "summary": "Returns a paginated list of file metadata records.",
        "operationId": "get_file_metadata_list",
        "parameters": [
          {
            "$ref": "#/components/parameters/limit"
          },
          {
            "$ref": "#/components/parameters/cursor"
          },
          {
            "$ref": "#/components/parameters/fileMetadataSortParam"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "FileMetadataListResponse",
                  "properties": {
                    "items": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/FileMetadata"
                      }
                    },
                    "response_metadata": {
                      "$ref": "#/components/schemas/PaginatedResponseMetadata"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Invalid request parameters."
          }
        }
      },
      "post": {
        "tags": [
          "FileMetadata"
        ],
        "summary": "Create a file metadata record for a DELIMITED file connector.",
        "operationId": "create_file_metadata",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "x-body-name": "file_metadata",
                "$ref": "#/components/schemas/FileMetadataCreateRequest"
              }
            }
          },
          "description": "Request to create a file metadata record.",
          "required": true
        },
        "responses": {
          "201": {
            "description": "Created",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "FileMetadataCreateResponse",
                  "properties": {
                    "job": {
                      "$ref": "#/components/schemas/Job",
                      "description": "The job tracking the creation."
                    },
                    "id": {
                      "type": "string",
                      "description": "The ID of the created file metadata record."
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Invalid request (e.g. connector not DELIMITED, duplicate file name, bad enclosure config)."
          },
          "404": {
            "description": "Rule set or file format not found."
          }
        }
      }
    },
    "/file-metadata/{fileMetadataId}": {
      "parameters": [
        {
          "$ref": "#/components/parameters/fileMetadataIdParam"
        }
      ],
      "get": {
        "tags": [
          "FileMetadata"
        ],
        "summary": "Get a file metadata record by ID or file_name.",
        "operationId": "get_file_metadata_by_id",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FileMetadata"
                }
              }
            }
          },
          "404": {
            "description": "File metadata not found."
          }
        }
      },
      "patch": {
        "tags": [
          "FileMetadata"
        ],
        "summary": "Update a file metadata record by ID.",
        "operationId": "update_file_metadata_by_id",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "x-body-name": "update_file_metadata_parameters",
                "$ref": "#/components/schemas/FileMetadataUpdateRequest"
              }
            }
          },
          "description": "Fields to update. Send only changed fields."
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "FileMetadataUpdateResponse",
                  "properties": {
                    "job": {
                      "$ref": "#/components/schemas/Job",
                      "description": "The job tracking the update."
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Invalid update (e.g. file_name immutable, bad enclosure config)."
          },
          "404": {
            "description": "File metadata not found."
          }
        }
      },
      "delete": {
        "tags": [
          "FileMetadata"
        ],
        "summary": "Delete a file metadata record by ID.",
        "operationId": "delete_file_metadata",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "FileMetadataDeleteResponse",
                  "properties": {
                    "job": {
                      "$ref": "#/components/schemas/Job",
                      "description": "The job tracking the deletion."
                    }
                  }
                }
              }
            }
          },
          "404": {
            "description": "File metadata not found."
          }
        }
      }
    },
    "/file-metadata/search": {
      "post": {
        "summary": "Search for file metadata records.",
        "operationId": "search_file_metadata",
        "tags": [
          "FileMetadata"
        ],
        "x-filterable": {
          "fields": {
            "id": {
              "type": "string"
            },
            "file_name": {
              "type": "string"
            },
            "object_type": {
              "type": "string"
            },
            "connector_id": {
              "type": "string"
            },
            "connector_name": {
              "type": "string"
            },
            "rule_set_id": {
              "type": "string"
            },
            "rule_set_name": {
              "type": "string"
            },
            "file_format_id": {
              "type": "string"
            },
            "file_format_name": {
              "type": "string"
            }
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/limit"
          },
          {
            "$ref": "#/components/parameters/cursor"
          },
          {
            "$ref": "#/components/parameters/fileMetadataSortParam"
          }
        ],
        "requestBody": {
          "$ref": "#/components/requestBodies/SearchBody"
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "FileMetadataSearchResponse",
                  "properties": {
                    "items": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/FileMetadata"
                      }
                    },
                    "response_metadata": {
                      "$ref": "#/components/schemas/PaginatedResponseMetadata"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Invalid filter expression."
          }
        }
      }
    },
    "/mainframe-dataset-record-types/{mainframeDatasetRecordTypeId}": {
      "parameters": [
        {
          "$ref": "#/components/parameters/mainframeDatasetRecordTypeIdParam"
        }
      ]
    },
    "/hyperscale-connectors": {
      "get": {
        "tags": [
          "HyperscaleObjects"
        ],
        "summary": "Returns a list of Hyperscale Connectors.",
        "operationId": "get_hyperscale_connectors",
        "parameters": [
          {
            "$ref": "#/components/parameters/limit"
          },
          {
            "$ref": "#/components/parameters/cursor"
          },
          {
            "$ref": "#/components/parameters/hyperscaleConnectorsSortParam"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "ListHyperscaleConnectorsResponse",
                  "properties": {
                    "items": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/HyperscaleConnector"
                      }
                    },
                    "response_metadata": {
                      "$ref": "#/components/schemas/PaginatedResponseMetadata"
                    }
                  }
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "HyperscaleObjects"
        ],
        "summary": "Create a Hyperscale Connector.",
        "operationId": "create_hyperscale_connector",
        "requestBody": {
          "description": "The parameters to create a Hyperscale connector.",
          "content": {
            "application/json": {
              "schema": {
                "x-body-name": "hyperscale_connector",
                "$ref": "#/components/schemas/HyperscaleConnectorCreateParameters"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "CreateHyperscaleConnectorResponse",
                  "properties": {
                    "id": {
                      "type": "string",
                      "description": "The created Hyperscale Connector's ID."
                    },
                    "job": {
                      "$ref": "#/components/schemas/Job",
                      "description": "The initiated job."
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/hyperscale-connectors/{hyperscaleConnectorId}": {
      "parameters": [
        {
          "$ref": "#/components/parameters/hyperscaleConnectorIdParam"
        }
      ],
      "get": {
        "tags": [
          "HyperscaleObjects"
        ],
        "summary": "Get a Hyperscale Connector.",
        "operationId": "get_hyperscale_connector_by_id",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HyperscaleConnector"
                }
              }
            }
          }
        }
      },
      "patch": {
        "tags": [
          "HyperscaleObjects"
        ],
        "summary": "Update a Hyperscale Connector by ID.",
        "operationId": "update_hyperscale_connector_by_id",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "x-body-name": "update_hyperscale_connector_parameter",
                "$ref": "#/components/schemas/HyperscaleConnectorUpdateParameters"
              }
            }
          },
          "description": "The new data to update a Hyperscale Connector."
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "UpdateHyperscaleConnectorResponse",
                  "properties": {
                    "job": {
                      "$ref": "#/components/schemas/Job"
                    }
                  }
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "HyperscaleObjects"
        ],
        "summary": "Delete a Hyperscale Connector.",
        "operationId": "delete_hyperscale_connector",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "DeleteHyperscaleConnectorResponse",
                  "properties": {
                    "job": {
                      "$ref": "#/components/schemas/Job",
                      "description": "The initiated job."
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/hyperscale-connectors/{hyperscaleConnectorId}/tags": {
      "parameters": [
        {
          "$ref": "#/components/parameters/hyperscaleConnectorIdParam"
        }
      ],
      "post": {
        "tags": [
          "HyperscaleObjects"
        ],
        "summary": "Create tags for a Hyperscale Connector.",
        "operationId": "create_hyperscale_connector_tags",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "x-body-name": "hyperscale_connector_tags",
                "$ref": "#/components/schemas/TagsRequest"
              }
            }
          },
          "description": "Tag information for a Hyperscale Connector.",
          "required": true
        },
        "responses": {
          "201": {
            "description": "Created",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TagsResponse"
                }
              }
            }
          }
        }
      },
      "get": {
        "tags": [
          "HyperscaleObjects"
        ],
        "summary": "Get tags for a Hyperscale Connector.",
        "operationId": "get_hyperscale_connector_tags",
        "responses": {
          "200": {
            "description": "Ok",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TagsResponse"
                }
              }
            }
          }
        }
      }
    },
    "/hyperscale-connectors/{hyperscaleConnectorId}/tags/delete": {
      "parameters": [
        {
          "$ref": "#/components/parameters/hyperscaleConnectorIdParam"
        }
      ],
      "post": {
        "tags": [
          "HyperscaleObjects"
        ],
        "summary": "Delete tags for a Hyperscale Connector.",
        "operationId": "delete_hyperscale_connector_tags",
        "requestBody": {
          "$ref": "#/components/requestBodies/DeleteTags"
        },
        "responses": {
          "204": {
            "description": "No Content"
          }
        }
      }
    },
    "/hyperscale-connectors/search": {
      "post": {
        "summary": "Search for Hyperscale Connectors.",
        "operationId": "search_hyperscale_connectors",
        "tags": [
          "HyperscaleObjects"
        ],
        "x-filterable": {
          "fields": {
            "id": {
              "type": "string"
            },
            "name": {
              "type": "string"
            },
            "hyperscale_instance_id": {
              "type": "string"
            },
            "data_type": {
              "type": "string"
            },
            "source_username": {
              "type": "string"
            },
            "source_jdbc_url": {
              "type": "string"
            },
            "source_mongo_url": {
              "type": "string"
            },
            "source_filesystem_path": {
              "type": "string"
            },
            "target_username": {
              "type": "string"
            },
            "target_jdbc_url": {
              "type": "string"
            },
            "target_mongo_url": {
              "type": "string"
            },
            "target_filesystem_path": {
              "type": "string"
            },
            "tags": {
              "type": "array[object]",
              "fields": {
                "key": {
                  "type": "string"
                },
                "value": {
                  "type": "string"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/limit"
          },
          {
            "$ref": "#/components/parameters/cursor"
          },
          {
            "$ref": "#/components/parameters/hyperscaleConnectorsSortParam"
          }
        ],
        "requestBody": {
          "$ref": "#/components/requestBodies/SearchBody"
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "SearchHyperscaleConnectorsResponse",
                  "properties": {
                    "items": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/HyperscaleConnector"
                      }
                    },
                    "response_metadata": {
                      "$ref": "#/components/schemas/PaginatedResponseMetadata"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/hyperscale-datasets": {
      "get": {
        "tags": [
          "HyperscaleObjects"
        ],
        "summary": "Returns a list of Hyperscale Datasets.",
        "operationId": "get_hyperscale_datasets",
        "parameters": [
          {
            "$ref": "#/components/parameters/limit"
          },
          {
            "$ref": "#/components/parameters/cursor"
          },
          {
            "$ref": "#/components/parameters/hyperscaleDatasetsSortParam"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "ListHyperscaleDatasetsResponse",
                  "properties": {
                    "items": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/HyperscaleDataset"
                      }
                    },
                    "response_metadata": {
                      "$ref": "#/components/schemas/PaginatedResponseMetadata"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/hyperscale-datasets/{hyperscaleDatasetId}": {
      "parameters": [
        {
          "$ref": "#/components/parameters/hyperscaleDatasetIdParam"
        }
      ],
      "get": {
        "tags": [
          "HyperscaleObjects"
        ],
        "summary": "Get a Hyperscale Dataset.",
        "operationId": "get_hyperscale_dataset_by_id",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HyperscaleDataset"
                }
              }
            }
          }
        }
      },
      "patch": {
        "tags": [
          "HyperscaleObjects"
        ],
        "summary": "Update a Hyperscale Dataset by ID.",
        "operationId": "update_hyperscale_dataset_by_id",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "x-body-name": "update_hyperscale_dataset_parameter",
                "$ref": "#/components/schemas/HyperscaleDatasetUpdateParameters"
              }
            }
          },
          "description": "The new data to update a Hyperscale Dataset."
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "UpdateHyperscaleDatasetResponse",
                  "properties": {
                    "job": {
                      "$ref": "#/components/schemas/Job"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/hyperscale-datasets/{hyperscaleDatasetId}/tags": {
      "parameters": [
        {
          "$ref": "#/components/parameters/hyperscaleDatasetIdParam"
        }
      ],
      "post": {
        "tags": [
          "HyperscaleObjects"
        ],
        "summary": "Create tags for a Hyperscale Dataset.",
        "operationId": "create_hyperscale_dataset_tags",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "x-body-name": "hyperscale_dataset_tags",
                "$ref": "#/components/schemas/TagsRequest"
              }
            }
          },
          "description": "Tag information for a Hyperscale Dataset.",
          "required": true
        },
        "responses": {
          "201": {
            "description": "Created",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TagsResponse"
                }
              }
            }
          }
        }
      },
      "get": {
        "tags": [
          "HyperscaleObjects"
        ],
        "summary": "Get tags for a Hyperscale Dataset.",
        "operationId": "get_hyperscale_dataset_tags",
        "responses": {
          "200": {
            "description": "Ok",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TagsResponse"
                }
              }
            }
          }
        }
      }
    },
    "/hyperscale-datasets/{hyperscaleDatasetId}/tags/delete": {
      "parameters": [
        {
          "$ref": "#/components/parameters/hyperscaleDatasetIdParam"
        }
      ],
      "post": {
        "tags": [
          "HyperscaleObjects"
        ],
        "summary": "Delete tags for a Hyperscale Dataset.",
        "operationId": "delete_hyperscale_dataset_tags",
        "requestBody": {
          "$ref": "#/components/requestBodies/DeleteTags"
        },
        "responses": {
          "204": {
            "description": "No Content"
          }
        }
      }
    },
    "/hyperscale-datasets/{hyperscaleDatasetId}/tables-or-files/{hyperscaleDatasetTableOrFileId}": {
      "parameters": [
        {
          "$ref": "#/components/parameters/hyperscaleDatasetIdParam"
        },
        {
          "$ref": "#/components/parameters/hyperscaleDatasetTableOrFileIdParam"
        }
      ],
      "get": {
        "tags": [
          "HyperscaleObjects"
        ],
        "summary": "Get a Hyperscale Dataset table or file by ID.",
        "operationId": "get_hyperscale_dataset_table_or_file_by_id",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HyperscaleDatasetTableOrFile"
                }
              }
            }
          }
        }
      },
      "patch": {
        "tags": [
          "HyperscaleObjects"
        ],
        "summary": "Update a Hyperscale Dataset table or file by ID.",
        "operationId": "update_hyperscale_dataset_table_or_file_by_id",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "x-body-name": "update_hyperscale_dataset_table_or_file_parameter",
                "$ref": "#/components/schemas/HyperscaleDatasetTableOrFileUpdateParameters"
              }
            }
          },
          "description": "The new data to update a Hyperscale Dataset table or file."
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "UpdateHyperscaleDatasetTableOrFileResponse",
                  "properties": {
                    "job": {
                      "$ref": "#/components/schemas/Job"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/hyperscale-datasets/{hyperscaleDatasetId}/tables-or-files": {
      "parameters": [
        {
          "$ref": "#/components/parameters/hyperscaleDatasetIdParam"
        },
        {
          "$ref": "#/components/parameters/limit"
        },
        {
          "$ref": "#/components/parameters/cursor"
        },
        {
          "$ref": "#/components/parameters/hyperscaleDatasetTablesOrFilesSortParam"
        }
      ],
      "get": {
        "tags": [
          "HyperscaleObjects"
        ],
        "summary": "Get the tables or files of a hyperscale dataset",
        "operationId": "get_hyperscale_dataset_tables_or_files",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "ListHyperscaleDatasetTablesOrFilesResponse",
                  "properties": {
                    "items": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/HyperscaleDatasetTableOrFile"
                      }
                    },
                    "response_metadata": {
                      "$ref": "#/components/schemas/PaginatedResponseMetadata"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/hyperscale-datasets/{hyperscaleDatasetId}/tables-or-files/search": {
      "parameters": [
        {
          "$ref": "#/components/parameters/hyperscaleDatasetIdParam"
        },
        {
          "$ref": "#/components/parameters/limit"
        },
        {
          "$ref": "#/components/parameters/cursor"
        },
        {
          "$ref": "#/components/parameters/hyperscaleDatasetTablesOrFilesSortParam"
        }
      ],
      "post": {
        "tags": [
          "HyperscaleObjects"
        ],
        "x-filterable": {
          "fields": {
            "id": {
              "type": "string"
            },
            "schema_name": {
              "type": "string"
            },
            "table_name": {
              "type": "string"
            },
            "filter_key": {
              "type": "string"
            },
            "column_array_rows": {
              "type": "integer"
            },
            "unload_split": {
              "type": "integer"
            },
            "stream_size": {
              "type": "integer"
            },
            "masking_inventory": {
              "type": "array[object]",
              "fields": {
                "field_name": {
                  "type": "string"
                },
                "domain_name": {
                  "type": "string"
                },
                "algorithm_name": {
                  "type": "string"
                },
                "date_format": {
                  "type": "string"
                },
                "algorithm_field_name": {
                  "type": "string"
                },
                "algorithm_group_no": {
                  "type": "integer"
                }
              }
            }
          }
        },
        "summary": "Search the tables or files of a hyperscale dataset",
        "operationId": "search_hyperscale_dataset_tables_or_files",
        "requestBody": {
          "$ref": "#/components/requestBodies/SearchBody"
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "SearchHyperscaleDatasetTablesOrFilesResponse",
                  "properties": {
                    "items": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/HyperscaleDatasetTableOrFile"
                      }
                    },
                    "response_metadata": {
                      "$ref": "#/components/schemas/PaginatedResponseMetadata"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/hyperscale-datasets/search": {
      "post": {
        "summary": "Search for Hyperscale Datasets.",
        "operationId": "search_hyperscale_datasets",
        "tags": [
          "HyperscaleObjects"
        ],
        "x-filterable": {
          "fields": {
            "id": {
              "type": "string"
            },
            "hyperscale_instance_id": {
              "type": "string"
            },
            "data_type": {
              "type": "string"
            },
            "mount_point_id": {
              "type": "string"
            },
            "connector_id": {
              "type": "string"
            },
            "tags": {
              "type": "array[object]",
              "fields": {
                "key": {
                  "type": "string"
                },
                "value": {
                  "type": "string"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/limit"
          },
          {
            "$ref": "#/components/parameters/cursor"
          },
          {
            "$ref": "#/components/parameters/hyperscaleDatasetsSortParam"
          }
        ],
        "requestBody": {
          "$ref": "#/components/requestBodies/SearchBody"
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "SearchHyperscaleDatasetsResponse",
                  "properties": {
                    "items": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/HyperscaleDataset"
                      }
                    },
                    "response_metadata": {
                      "$ref": "#/components/schemas/PaginatedResponseMetadata"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/reporting/masking-execution-metrics": {
      "get": {
        "summary": "Get the masking execution metrics report.",
        "tags": [
          "Reporting"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/limitExtendedParam"
          },
          {
            "$ref": "#/components/parameters/cursor"
          },
          {
            "$ref": "#/components/parameters/maskingExecutionMetricsSortParam"
          }
        ],
        "operationId": "get_masking_execution_metrics_report",
        "responses": {
          "200": {
            "description": "Returns a list of Masking execution metrics.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "MaskingExecutionMetricsReportResponse",
                  "properties": {
                    "items": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/MaskingExecutionMetrics"
                      }
                    },
                    "response_metadata": {
                      "$ref": "#/components/schemas/PaginatedResponseMetadata"
                    }
                  }
                }
              },
              "text/csv": {
                "schema": {
                  "type": "string",
                  "example": "id,masking_job_name,masking_job_type,connector_type,ruleset_name,rows_masked,rows_total,bytes_masked,bytes_total,duration,tables_files_count,\"masked_tables_files_count\",columns_fields_count,\"masked_columns_fields_count\"\n\"4ed2357d-f1a7-410c-b951-90f0edc1a0f6\",masking-job,STANDARD,ORACLE,customers,2,2,0,0,19430,1,1,2,2\n"
                }
              }
            }
          }
        }
      }
    },
    "/reporting/masking-execution-metrics/search": {
      "post": {
        "summary": "Search the Masking execution metrics report.",
        "tags": [
          "Reporting"
        ],
        "x-filterable": {
          "fields": {
            "id": {
              "type": "string"
            },
            "masking_job_name": {
              "type": "string"
            },
            "masking_job_type": {
              "type": "string"
            },
            "connector_type": {
              "type": "string"
            },
            "dct_managed": {
              "type": "boolean"
            },
            "ruleset_name": {
              "type": "string"
            },
            "rows_masked": {
              "type": "integer"
            },
            "rows_total": {
              "type": "integer"
            },
            "bytes_masked": {
              "type": "integer"
            },
            "bytes_total": {
              "type": "integer"
            },
            "duration": {
              "type": "integer"
            },
            "tables_files_count": {
              "type": "integer"
            },
            "masked_tables_files_count": {
              "type": "integer"
            },
            "columns_fields_count": {
              "type": "integer"
            },
            "masked_columns_fields_count": {
              "type": "integer"
            }
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/limitExtendedParam"
          },
          {
            "$ref": "#/components/parameters/cursor"
          },
          {
            "$ref": "#/components/parameters/maskingExecutionMetricsSortParam"
          }
        ],
        "operationId": "search_masking_execution_metrics_report",
        "requestBody": {
          "$ref": "#/components/requestBodies/SearchBody"
        },
        "responses": {
          "200": {
            "description": "Search Masking execution metrics.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "MaskingExecutionMetricsReportResponse",
                  "properties": {
                    "items": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/MaskingExecutionMetrics"
                      }
                    },
                    "response_metadata": {
                      "$ref": "#/components/schemas/PaginatedResponseMetadata"
                    }
                  }
                }
              },
              "text/csv": {
                "schema": {
                  "type": "string",
                  "example": "id,masking_job_name,connector_type,ruleset_name,rows_masked,rows_total,bytes_masked,bytes_total,duration,tables_files_count,\"masked_tables_files_count\",columns_fields_count,\"masked_columns_fields_count\"\n\"4ed2357d-f1a7-410c-b951-90f0edc1a0f6\",masking-job,ORACLE,customers,2,2,0,0,19430,1,1,2,2\n"
                }
              }
            }
          }
        }
      }
    },
    "/reporting/{executionId}/get-report-status": {
      "parameters": [
        {
          "$ref": "#/components/parameters/executionIdParam"
        }
      ]
    },
    "/reporting/{executionId}/generate-pdf-report": {
      "parameters": [
        {
          "$ref": "#/components/parameters/executionIdParam"
        }
      ],
      "post": {
        "summary": "Generate a PDF report for given execution.",
        "operationId": "generate_execution_pdf_report",
        "tags": [
          "Reporting"
        ],
        "responses": {
          "200": {
            "description": "PDF Report generation initiated for execution.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "GenerateExecutionPdfReportResponse",
                  "properties": {
                    "job": {
                      "$ref": "#/components/schemas/Job"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/reporting/{executionId}/download-pdf-report": {
      "parameters": [
        {
          "$ref": "#/components/parameters/executionIdParam"
        }
      ],
      "get": {
        "summary": "Download PDF report for given execution.",
        "operationId": "download_execution_pdf_report",
        "tags": [
          "Reporting"
        ],
        "responses": {
          "200": {
            "description": "PDF file successfully returned",
            "content": {
              "application/pdf": {
                "schema": {
                  "type": "string",
                  "format": "binary"
                }
              }
            }
          }
        }
      }
    },
    "/reporting/engine-global-object-state-report": {
      "get": {
        "summary": "Get the masking engine global object state report.",
        "tags": [
          "Reporting"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/limitExtendedParam"
          },
          {
            "$ref": "#/components/parameters/cursor"
          },
          {
            "$ref": "#/components/parameters/engineGlobalObjectStateReportSortParam"
          }
        ],
        "operationId": "get_engine_global_object_state_report",
        "responses": {
          "200": {
            "description": "Returns a list of GlobalObjectState data.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "GetEngineGlobalObjectStateReportResponse",
                  "properties": {
                    "items": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/EngineGlobalObjectStateData"
                      }
                    },
                    "response_metadata": {
                      "$ref": "#/components/schemas/PaginatedResponseMetadata"
                    }
                  }
                }
              },
              "text/csv": {
                "schema": {
                  "type": "string",
                  "example": "engine_id,engine_name,jobs_count,connectors_count,rulesets_count,global_object_revision_hash\n\"4ed2357d-f1a7-410c-b951-90f0edc1a0f6\",masking-engine-dev,10,25,25,\"dfb515e3d9727eebf499cb252b417efc926bad0b\"\n"
                }
              }
            }
          }
        }
      }
    },
    "/reporting/engine-global-object-state-report/search": {
      "post": {
        "summary": "Search the masking engine global object state report.",
        "tags": [
          "Reporting"
        ],
        "x-filterable": {
          "fields": {
            "engine_id": {
              "type": "string"
            },
            "engine_name": {
              "type": "string"
            },
            "jobs_count": {
              "type": "integer"
            },
            "connectors_count": {
              "type": "integer"
            },
            "rulesets_count": {
              "type": "integer"
            },
            "global_object_revision_hash": {
              "type": "string"
            }
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/limitExtendedParam"
          },
          {
            "$ref": "#/components/parameters/cursor"
          },
          {
            "$ref": "#/components/parameters/engineGlobalObjectStateReportSortParam"
          }
        ],
        "operationId": "search_engine_global_object_state_report",
        "requestBody": {
          "$ref": "#/components/requestBodies/SearchBody"
        },
        "responses": {
          "200": {
            "description": "Returns a list of searched GlobalObjectState data.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "SearchEngineGlobalObjectStateReportResponse",
                  "properties": {
                    "items": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/EngineGlobalObjectStateData"
                      }
                    },
                    "response_metadata": {
                      "$ref": "#/components/schemas/PaginatedResponseMetadata"
                    }
                  }
                }
              },
              "text/csv": {
                "schema": {
                  "type": "string",
                  "example": "engine_id,engine_name,jobs_count,connectors_count,rulesets_count,global_object_revision_hash\n\"4ed2357d-f1a7-410c-b951-90f0edc1a0f6\",masking-engine-dev,10,25,25,\"dfb515e3d9727eebf499cb252b417efc926bad0b\"\n"
                }
              }
            }
          }
        }
      }
    },
    "/reporting/data-risk-report": {
      "get": {
        "summary": "Get the masking data risk report.",
        "tags": [
          "Reporting"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/limitExtendedParam"
          },
          {
            "$ref": "#/components/parameters/cursor"
          },
          {
            "$ref": "#/components/parameters/dataRiskReportSortParam"
          }
        ],
        "operationId": "get_data_risk_report",
        "responses": {
          "200": {
            "description": "Returns a list of DataRisk data.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "GetDataRiskReportResponse",
                  "properties": {
                    "items": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/DataRiskData"
                      }
                    },
                    "response_metadata": {
                      "$ref": "#/components/schemas/PaginatedResponseMetadata"
                    },
                    "totals": {
                      "$ref": "#/components/schemas/DataRiskReportTotals"
                    }
                  }
                }
              },
              "text/csv": {
                "schema": {
                  "type": "string",
                  "example": "connector_id,connector_name,engine_id,engine_name,is_profiled,is_sensitive_data,is_masked,is_at_risk\n\"4ed2357d-f1a7-410c-b951-90f0edc1a0f6\",my-connector,\"dfb515e3d9727eebf499cb252b417efc926bad0b\",my-engine,true,true,true,false\n"
                }
              }
            }
          }
        }
      }
    },
    "/reporting/data-risk-report/search": {
      "post": {
        "summary": "Search the masking data risk report.",
        "tags": [
          "Reporting"
        ],
        "x-filterable": {
          "fields": {
            "connector_id": {
              "type": "string"
            },
            "engine_connector_id": {
              "type": "integer"
            },
            "connector_name": {
              "type": "string"
            },
            "connector_type": {
              "type": "string"
            },
            "last_profiled_date": {
              "type": "string"
            },
            "last_masked_date": {
              "type": "string"
            },
            "dct_managed": {
              "type": "boolean"
            },
            "engine_id": {
              "type": "string"
            },
            "engine_name": {
              "type": "string"
            },
            "is_profiled": {
              "type": "boolean"
            },
            "is_sensitive_data": {
              "type": "boolean"
            },
            "is_masked": {
              "type": "boolean"
            },
            "is_at_risk": {
              "type": "boolean"
            },
            "data_elements_total": {
              "type": "integer"
            },
            "data_elements_not_sensitive": {
              "type": "integer"
            },
            "data_elements_sensitive_masked": {
              "type": "integer"
            },
            "data_elements_sensitive_unmasked": {
              "type": "integer"
            },
            "records_total": {
              "type": "integer"
            },
            "records_not_sensitive": {
              "type": "integer"
            },
            "records_sensitive_masked": {
              "type": "integer"
            },
            "records_sensitive_unmasked": {
              "type": "integer"
            },
            "tags": {
              "type": "array[object]",
              "fields": {
                "key": {
                  "type": "string"
                },
                "value": {
                  "type": "string"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/limitExtendedParam"
          },
          {
            "$ref": "#/components/parameters/cursor"
          },
          {
            "$ref": "#/components/parameters/dataRiskReportSortParam"
          }
        ],
        "operationId": "search_data_risk_report",
        "requestBody": {
          "$ref": "#/components/requestBodies/SearchBody"
        },
        "responses": {
          "200": {
            "description": "Returns a list of searched DataRisk data.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "SearchDataRiskReportResponse",
                  "properties": {
                    "items": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/DataRiskData"
                      }
                    },
                    "response_metadata": {
                      "$ref": "#/components/schemas/PaginatedResponseMetadata"
                    },
                    "totals": {
                      "$ref": "#/components/schemas/DataRiskReportTotals"
                    }
                  }
                }
              },
              "text/csv": {
                "schema": {
                  "type": "string",
                  "example": "connector_id,engine_connector_id,connector_name,engine_id,engine_name,is_profiled,is_sensitive_data,is_masked,is_at_risk\n\"1-DATABASE-15\",15,my-connector,\"1\",my-engine,true,true,true,false\n"
                }
              }
            }
          }
        }
      }
    },
    "/classifiers": {
      "get": {
        "tags": [
          "Classifiers"
        ],
        "summary": "Retrieve classifiers.",
        "operationId": "get_classifiers",
        "parameters": [
          {
            "$ref": "#/components/parameters/limit"
          },
          {
            "$ref": "#/components/parameters/cursor"
          },
          {
            "$ref": "#/components/parameters/classifiersSortParam"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "ClassifiersListResponse",
                  "properties": {
                    "items": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Classifier"
                      }
                    },
                    "response_metadata": {
                      "$ref": "#/components/schemas/PaginatedResponseMetadata"
                    }
                  }
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "Classifiers"
        ],
        "summary": "Create a Classifier.",
        "operationId": "create_classifier",
        "requestBody": {
          "description": "The parameters to add classifiers to a discovery policy.",
          "content": {
            "application/json": {
              "schema": {
                "x-body-name": "classifier_create_request",
                "$ref": "#/components/schemas/ClassifierCreateRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "Classifier creation initiated.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "ClassifierCreateResponse",
                  "properties": {
                    "id": {
                      "type": "string",
                      "description": "The ID of the created classifier."
                    },
                    "job": {
                      "$ref": "#/components/schemas/Job",
                      "description": "The initiated job."
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/classifiers/search": {
      "post": {
        "tags": [
          "Classifiers"
        ],
        "summary": "Search for classifiers.",
        "operationId": "search_classifiers",
        "x-filterable": {
          "fields": {
            "id": {
              "type": "string"
            },
            "name": {
              "type": "string"
            },
            "framework": {
              "type": "string",
              "enum": [
                "REGEX",
                "LIST",
                "PATH",
                "DATA_TYPE"
              ]
            },
            "description": {
              "type": "string"
            },
            "data_class_id": {
              "type": "string"
            },
            "data_class_name": {
              "type": "string"
            },
            "engine_id": {
              "type": "string"
            },
            "engine_name": {
              "type": "string"
            },
            "tags": {
              "type": "array[object]",
              "fields": {
                "key": {
                  "type": "string"
                },
                "value": {
                  "type": "string"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/limit"
          },
          {
            "$ref": "#/components/parameters/cursor"
          },
          {
            "$ref": "#/components/parameters/classifiersSortParam"
          }
        ],
        "requestBody": {
          "$ref": "#/components/requestBodies/SearchBody"
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "ClassifiersSearchResponse",
                  "properties": {
                    "items": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Classifier"
                      }
                    },
                    "response_metadata": {
                      "$ref": "#/components/schemas/PaginatedResponseMetadata"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/classifiers/{classifierId}": {
      "parameters": [
        {
          "$ref": "#/components/parameters/classifierIdParam"
        }
      ],
      "get": {
        "tags": [
          "Classifiers"
        ],
        "summary": "Get a classifier by ID.",
        "operationId": "get_classifier_by_id",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Classifier"
                }
              }
            }
          }
        }
      },
      "patch": {
        "tags": [
          "Classifiers"
        ],
        "summary": "Update a Classifier.",
        "operationId": "update_classifier",
        "requestBody": {
          "description": "The parameters to update a classifier.",
          "content": {
            "application/json": {
              "schema": {
                "x-body-name": "classifier_update_request",
                "$ref": "#/components/schemas/ClassifierUpdateRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Classifier update initiated.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "ClassifierUpdateResponse",
                  "properties": {
                    "job": {
                      "$ref": "#/components/schemas/Job",
                      "description": "The initiated job."
                    }
                  }
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "Classifiers"
        ],
        "summary": "Delete a Classifier.",
        "operationId": "delete_classifier",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "ClassifierDeleteResponse",
                  "properties": {
                    "job": {
                      "$ref": "#/components/schemas/Job",
                      "description": "The completed job."
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/classifiers/{classifierId}/discovery-policies": {
      "parameters": [
        {
          "$ref": "#/components/parameters/classifierIdParam"
        }
      ],
      "get": {
        "tags": [
          "Classifiers"
        ],
        "summary": "Get discovery policies for a classifier.",
        "operationId": "get_classifier_discovery_policies",
        "parameters": [
          {
            "$ref": "#/components/parameters/limit"
          },
          {
            "$ref": "#/components/parameters/cursor"
          },
          {
            "$ref": "#/components/parameters/discoveryPoliciesSortParam"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "DiscoveryPoliciesListResponse",
                  "properties": {
                    "items": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/DiscoveryPolicy"
                      }
                    },
                    "response_metadata": {
                      "$ref": "#/components/schemas/PaginatedResponseMetadata"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/classifiers/{classifierId}/discovery-policies/search": {
      "parameters": [
        {
          "$ref": "#/components/parameters/classifierIdParam"
        }
      ],
      "post": {
        "tags": [
          "Classifiers"
        ],
        "summary": "Search discovery policies for a classifier.",
        "operationId": "search_classifier_discovery_policies",
        "x-filterable": {
          "fields": {
            "id": {
              "type": "string"
            },
            "name": {
              "type": "string"
            },
            "description": {
              "type": "string"
            },
            "account_id": {
              "type": "integer"
            },
            "account_name": {
              "type": "string"
            },
            "dct_managed": {
              "type": "boolean"
            },
            "discovery_method": {
              "type": "string",
              "enum": [
                "CLASSIFIERS",
                "EXPRESSIONS"
              ]
            },
            "assignment_threshold": {
              "type": "integer"
            },
            "engine_id": {
              "type": "string"
            },
            "engine_name": {
              "type": "string"
            },
            "tags": {
              "type": "array[object]",
              "fields": {
                "key": {
                  "type": "string"
                },
                "value": {
                  "type": "string"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/limit"
          },
          {
            "$ref": "#/components/parameters/cursor"
          },
          {
            "$ref": "#/components/parameters/discoveryPoliciesSortParam"
          }
        ],
        "requestBody": {
          "$ref": "#/components/requestBodies/SearchBody"
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "DiscoveryPoliciesSearchResponse",
                  "properties": {
                    "items": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/DiscoveryPolicy"
                      }
                    },
                    "response_metadata": {
                      "$ref": "#/components/schemas/PaginatedResponseMetadata"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/classifiers/{classifierId}/tags": {
      "parameters": [
        {
          "$ref": "#/components/parameters/classifierIdParam"
        }
      ],
      "get": {
        "tags": [
          "Classifiers"
        ],
        "summary": "Get tags for a classifier.",
        "operationId": "get_classifier_tags",
        "responses": {
          "200": {
            "description": "Ok",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TagsResponse"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "Classifiers"
        ],
        "summary": "Create tags for a classifier.",
        "operationId": "create_classifier_tags",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "x-body-name": "classifier_tags",
                "$ref": "#/components/schemas/TagsRequest"
              }
            }
          },
          "description": "Tags information for classifier.",
          "required": true
        },
        "responses": {
          "201": {
            "description": "Classifier tags created",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TagsResponse"
                }
              }
            }
          }
        }
      }
    },
    "/classifiers/{classifierId}/tags/delete": {
      "parameters": [
        {
          "$ref": "#/components/parameters/classifierIdParam"
        }
      ],
      "post": {
        "tags": [
          "Classifiers"
        ],
        "summary": "Delete tags for a classifier.",
        "operationId": "delete_classifier_tags",
        "requestBody": {
          "$ref": "#/components/requestBodies/DeleteTags"
        },
        "responses": {
          "204": {
            "description": "No Content"
          }
        }
      }
    },
    "/connectors": {
      "get": {
        "tags": [
          "Connectors"
        ],
        "summary": "Retrieve the list of masking connectors.",
        "operationId": "get_connectors",
        "parameters": [
          {
            "$ref": "#/components/parameters/limit"
          },
          {
            "$ref": "#/components/parameters/cursor"
          },
          {
            "$ref": "#/components/parameters/connectorsSortParam"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "ListConnectorsResponse",
                  "properties": {
                    "items": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Connector"
                      }
                    },
                    "response_metadata": {
                      "$ref": "#/components/schemas/PaginatedResponseMetadata"
                    }
                  }
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "Connectors"
        ],
        "summary": "Create a Connector.",
        "operationId": "create_connector",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "x-body-name": "connector_create_request",
                "$ref": "#/components/schemas/ConnectorCreateRequest"
              }
            }
          },
          "description": "The new Connector to create",
          "required": true
        },
        "responses": {
          "201": {
            "description": "Created Connector.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "ConnectorCreateResponse",
                  "properties": {
                    "id": {
                      "type": "string",
                      "description": "The ID of the created connector."
                    },
                    "job": {
                      "$ref": "#/components/schemas/Job",
                      "description": "The created connector."
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/connectors/test": {
      "post": {
        "tags": [
          "Connectors"
        ],
        "summary": "Checks connectivity of an unsaved remote data source.",
        "operationId": "test_unsaved_connector",
        "requestBody": {
          "description": "The connector details to use to test.",
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "x-body-name": "connector_test_request",
                "$ref": "#/components/schemas/ConnectorTestRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ConnectorTestResponse"
                }
              }
            }
          }
        }
      }
    },
    "/connectors/{connectorId}": {
      "parameters": [
        {
          "$ref": "#/components/parameters/connectorIdParam"
        }
      ],
      "get": {
        "summary": "Retrieve a masking Connector by ID.",
        "operationId": "get_connector_by_id",
        "tags": [
          "Connectors"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Connector"
                }
              }
            }
          }
        }
      },
      "patch": {
        "summary": "Update a masking Connector by ID.",
        "operationId": "update_connector_by_id",
        "tags": [
          "Connectors"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "x-body-name": "update_connector_parameter",
                "$ref": "#/components/schemas/ConnectorUpdateParameters"
              }
            }
          },
          "description": "The new data to update a masking Connector."
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "UpdateConnectorResponse",
                  "properties": {
                    "job": {
                      "$ref": "#/components/schemas/Job"
                    }
                  }
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "Connectors"
        ],
        "summary": "Delete a DCT managed masking connector.",
        "operationId": "delete_connector",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "ConnectorDeleteResponse",
                  "properties": {
                    "job": {
                      "$ref": "#/components/schemas/Job",
                      "description": "The completed job."
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/connectors/{connectorId}/driver-support-tasks": {
      "parameters": [
        {
          "$ref": "#/components/parameters/connectorIdParam"
        }
      ],
      "get": {
        "tags": [
          "Connectors"
        ],
        "summary": "Retrieve driver support tasks for a connector.",
        "operationId": "get_connector_driver_support_tasks",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "GetConnectorDriverSupportTasksResponse",
                  "properties": {
                    "tasks": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/connectors/{connectorId}/test": {
      "post": {
        "tags": [
          "Connectors"
        ],
        "summary": "Checks connectivity of the connector",
        "operationId": "test_connector",
        "parameters": [
          {
            "$ref": "#/components/parameters/connectorIdParam"
          }
        ],
        "requestBody": {
          "description": "The connector details to use to test.",
          "content": {
            "application/json": {
              "schema": {
                "x-body-name": "connector_test_request",
                "$ref": "#/components/schemas/ConnectorTestRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ConnectorTestResponse"
                }
              }
            }
          }
        }
      }
    },
    "/connectors/{connectorId}/properties": {
      "parameters": [
        {
          "$ref": "#/components/parameters/connectorIdParam"
        }
      ],
      "get": {
        "tags": [
          "Connectors"
        ],
        "summary": "Retrieve the combined properties from jdbc-driver and the properties-file of the connector.",
        "operationId": "get_connection_properties",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "ListConnectionPropertiesResponse",
                  "properties": {
                    "items": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/ConnectionProperty"
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/connectors/{connectorId}/fetch-table-names": {
      "parameters": [
        {
          "$ref": "#/components/parameters/connectorIdParam"
        }
      ],
      "post": {
        "summary": "Return the name of all tables accessible by the database user.",
        "operationId": "fetch_table_names",
        "tags": [
          "Connectors"
        ],
        "requestBody": {
          "description": "The parameters used to fetch table names.",
          "content": {
            "application/json": {
              "schema": {
                "x-body-name": "fetch_table_names_request",
                "$ref": "#/components/schemas/FetchTableNamesRequest"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "FetchTableNamesResponse",
                  "properties": {
                    "items": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    },
                    "job": {
                      "$ref": "#/components/schemas/Job",
                      "description": "The completed job."
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/connectors/{connectorId}/fetch-file-names": {
      "parameters": [
        {
          "$ref": "#/components/parameters/connectorIdParam"
        }
      ],
      "post": {
        "summary": "Return the name of all files accessible by the file connector.",
        "operationId": "fetch_file_names",
        "tags": [
          "Connectors"
        ],
        "requestBody": {
          "description": "The parameters used to fetch file names.",
          "content": {
            "application/json": {
              "schema": {
                "x-body-name": "fetch_file_names_request",
                "$ref": "#/components/schemas/FetchFileNamesRequest"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "FetchFileNamesResponse",
                  "properties": {
                    "items": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    },
                    "job": {
                      "$ref": "#/components/schemas/Job",
                      "description": "The completed job."
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/connectors/{connectorId}/masking-jobs/search": {
      "parameters": [
        {
          "$ref": "#/components/parameters/connectorIdParam"
        }
      ],
      "post": {
        "tags": [
          "Connectors"
        ],
        "x-filterable": {
          "fields": {
            "id": {
              "type": "string"
            },
            "name": {
              "type": "string"
            },
            "is_on_the_fly_masking": {
              "type": "boolean"
            },
            "last_execution_time": {
              "type": "string"
            },
            "last_execution_status": {
              "type": "string"
            },
            "creation_date": {
              "type": "string"
            },
            "tags": {
              "type": "array[object]",
              "fields": {
                "key": {
                  "type": "string"
                },
                "value": {
                  "type": "string"
                }
              }
            },
            "connector_role": {
              "type": "string",
              "enum": [
                "SOURCE",
                "TARGET"
              ]
            }
          }
        },
        "summary": "Search jobs that use this connector",
        "operationId": "search_connector_jobs",
        "parameters": [
          {
            "$ref": "#/components/parameters/limit"
          },
          {
            "$ref": "#/components/parameters/cursor"
          },
          {
            "$ref": "#/components/parameters/jobWithConnectorSortParam"
          }
        ],
        "requestBody": {
          "$ref": "#/components/requestBodies/SearchBody"
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "ListConnectorsMaskingJobsResponse",
                  "properties": {
                    "items": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/MaskingJobWithConnectorRole"
                      }
                    },
                    "response_metadata": {
                      "$ref": "#/components/schemas/PaginatedResponseMetadata"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/connectors/{connectorId}/tags": {
      "parameters": [
        {
          "$ref": "#/components/parameters/connectorIdParam"
        }
      ],
      "post": {
        "tags": [
          "Connectors"
        ],
        "summary": "Create tags for a Connector.",
        "operationId": "create_connector_tags",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "x-body-name": "connector_tags",
                "$ref": "#/components/schemas/TagsRequest"
              }
            }
          },
          "description": "Tags information for Connector.",
          "required": true
        },
        "responses": {
          "201": {
            "description": "Created",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TagsResponse"
                }
              }
            }
          }
        }
      },
      "get": {
        "tags": [
          "Connectors"
        ],
        "summary": "Get tags for a Connector.",
        "operationId": "get_connector_tags",
        "responses": {
          "200": {
            "description": "Ok",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TagsResponse"
                }
              }
            }
          }
        }
      }
    },
    "/connectors/{connectorId}/tags/delete": {
      "parameters": [
        {
          "$ref": "#/components/parameters/connectorIdParam"
        }
      ],
      "post": {
        "tags": [
          "Connectors"
        ],
        "summary": "Delete tags for a Connector.",
        "operationId": "delete_connector_tag",
        "requestBody": {
          "$ref": "#/components/requestBodies/DeleteTags",
          "required": false
        },
        "responses": {
          "204": {
            "description": "No Content"
          }
        }
      }
    },
    "/connectors/search": {
      "post": {
        "summary": "Search for masking Connectors.",
        "operationId": "search_connectors",
        "tags": [
          "Connectors"
        ],
        "x-filterable": {
          "fields": {
            "id": {
              "type": "string"
            },
            "engine_id": {
              "type": "string"
            },
            "engine_name": {
              "type": "string"
            },
            "type": {
              "type": "string"
            },
            "platform": {
              "type": "string"
            },
            "database_type": {
              "type": "string"
            },
            "name": {
              "type": "string"
            },
            "hostname": {
              "type": "string"
            },
            "username": {
              "type": "string"
            },
            "port": {
              "type": "integer"
            },
            "auth_present": {
              "type": "boolean"
            },
            "custom_driver_name": {
              "type": "string"
            },
            "compliance_jdbc_driver_id": {
              "type": "string"
            },
            "compliance_jdbc_driver_name": {
              "type": "string"
            },
            "database_name": {
              "type": "string"
            },
            "instance_name": {
              "type": "string"
            },
            "jdbc": {
              "type": "string"
            },
            "schema_name": {
              "type": "string"
            },
            "sid": {
              "type": "string"
            },
            "kerberos_auth": {
              "type": "boolean"
            },
            "service_principal": {
              "type": "string"
            },
            "enable_logger": {
              "type": "boolean"
            },
            "file_type": {
              "type": "string"
            },
            "connection_mode": {
              "type": "string"
            },
            "path": {
              "type": "string"
            },
            "ssh_key": {
              "type": "string"
            },
            "user_dir_is_root": {
              "type": "boolean"
            },
            "data_connection_id": {
              "type": "string"
            },
            "account_id": {
              "type": "integer"
            },
            "account_name": {
              "type": "string"
            },
            "dct_managed": {
              "type": "boolean"
            },
            "job_orchestrator_id": {
              "type": "string"
            },
            "job_orchestrator_name": {
              "type": "string"
            },
            "owning_entity_id": {
              "type": "string"
            },
            "owning_entity_name": {
              "type": "string"
            },
            "owning_entity_type": {
              "type": "string"
            },
            "tags": {
              "type": "array[object]",
              "fields": {
                "key": {
                  "type": "string"
                },
                "value": {
                  "type": "string"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/limit"
          },
          {
            "$ref": "#/components/parameters/cursor"
          },
          {
            "$ref": "#/components/parameters/connectorsSortParam"
          }
        ],
        "requestBody": {
          "$ref": "#/components/requestBodies/SearchBody"
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "SearchConnectorsResponse",
                  "properties": {
                    "items": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Connector"
                      }
                    },
                    "response_metadata": {
                      "$ref": "#/components/schemas/PaginatedResponseMetadata"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/data-classes": {
      "get": {
        "tags": [
          "DataClasses"
        ],
        "summary": "Retrieve the list of Data Classes.",
        "operationId": "get_data_classes",
        "parameters": [
          {
            "$ref": "#/components/parameters/limit"
          },
          {
            "$ref": "#/components/parameters/cursor"
          },
          {
            "$ref": "#/components/parameters/dataClassesSortParam"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "DataClassesListResponse",
                  "properties": {
                    "items": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/DataClass"
                      }
                    },
                    "response_metadata": {
                      "$ref": "#/components/schemas/PaginatedResponseMetadata"
                    }
                  }
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "DataClasses"
        ],
        "summary": "Create a Data Class.",
        "operationId": "create_data_class",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "x-body-name": "data_class_create_request",
                "$ref": "#/components/schemas/DataClassCreateRequest"
              }
            }
          },
          "description": "The new Data Class to create",
          "required": true
        },
        "responses": {
          "201": {
            "description": "Data Class creation initiated.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "DataClassCreateResponse",
                  "properties": {
                    "id": {
                      "type": "string",
                      "description": "The ID of the created data class."
                    },
                    "job": {
                      "$ref": "#/components/schemas/Job",
                      "description": "The initiated job."
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/data-classes/search": {
      "post": {
        "tags": [
          "DataClasses"
        ],
        "summary": "Search for Data Classes.",
        "operationId": "search_data_classes",
        "x-filterable": {
          "fields": {
            "id": {
              "type": "string"
            },
            "name": {
              "type": "string"
            },
            "default_algorithm_id": {
              "type": "string"
            },
            "default_algorithm_name": {
              "type": "string"
            },
            "default_token_algorithm_id": {
              "type": "string"
            },
            "default_token_algorithm_name": {
              "type": "string"
            },
            "algorithm_ids": {
              "type": "array[string]"
            },
            "algorithms": {
              "type": "array[object]",
              "fields": {
                "id": {
                  "type": "string"
                },
                "name": {
                  "type": "string"
                }
              }
            },
            "description": {
              "type": "string"
            },
            "example": {
              "type": "string"
            },
            "revision_hash": {
              "type": "string"
            },
            "engine_id": {
              "type": "string"
            },
            "engine_name": {
              "type": "string"
            },
            "creation_date": {
              "type": "string"
            },
            "account_id": {
              "type": "integer"
            },
            "account_name": {
              "type": "string"
            },
            "dct_managed": {
              "type": "boolean"
            },
            "tags": {
              "type": "array[object]",
              "fields": {
                "key": {
                  "type": "string"
                },
                "value": {
                  "type": "string"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/limit"
          },
          {
            "$ref": "#/components/parameters/cursor"
          },
          {
            "$ref": "#/components/parameters/dataClassesSortParam"
          }
        ],
        "requestBody": {
          "$ref": "#/components/requestBodies/SearchBody"
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "DataClassesSearchResponse",
                  "properties": {
                    "items": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/DataClass"
                      }
                    },
                    "response_metadata": {
                      "$ref": "#/components/schemas/PaginatedResponseMetadata"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/data-classes/{dataClassId}": {
      "parameters": [
        {
          "$ref": "#/components/parameters/dataClassIdParam"
        }
      ],
      "get": {
        "tags": [
          "DataClasses"
        ],
        "summary": "Get a Data Class by ID.",
        "operationId": "get_data_class_by_id",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DataClass"
                }
              }
            }
          }
        }
      },
      "patch": {
        "tags": [
          "DataClasses"
        ],
        "summary": "Update a Data Class.",
        "operationId": "update_data_class",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "x-body-name": "data_class_update_request",
                "$ref": "#/components/schemas/DataClassUpdateRequest"
              }
            }
          },
          "description": "Update a Data Class.",
          "required": true
        },
        "responses": {
          "200": {
            "description": "Data Class update initiated.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "DataClassUpdateResponse",
                  "properties": {
                    "job": {
                      "$ref": "#/components/schemas/Job",
                      "description": "The initiated job."
                    }
                  }
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "DataClasses"
        ],
        "summary": "Delete a Data Class.",
        "operationId": "delete_data_class",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "DataClassDeleteResponse",
                  "properties": {
                    "job": {
                      "$ref": "#/components/schemas/Job",
                      "description": "The completed job."
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/data-classes/{dataClassId}/algorithms": {
      "parameters": [
        {
          "$ref": "#/components/parameters/dataClassIdParam"
        }
      ],
      "get": {
        "tags": [
          "DataClasses"
        ],
        "summary": "Retrieve the list of algorithms for a Data Class.",
        "operationId": "get_data_class_algorithms",
        "parameters": [
          {
            "$ref": "#/components/parameters/limit"
          },
          {
            "$ref": "#/components/parameters/cursor"
          },
          {
            "$ref": "#/components/parameters/algorithmsSortParam"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "ListAlgorithmsResponse",
                  "properties": {
                    "items": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Algorithm"
                      }
                    },
                    "response_metadata": {
                      "$ref": "#/components/schemas/PaginatedResponseMetadata"
                    }
                  }
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "DataClasses"
        ],
        "summary": "Add algorithms to a Data Class.",
        "operationId": "add_data_class_algorithms",
        "requestBody": {
          "description": "Algorithms to add to a Data Class.",
          "content": {
            "application/json": {
              "schema": {
                "x-body-name": "DataClassAddAlgorithmsRequestBody",
                "$ref": "#/components/schemas/DataClassAddAlgorithmsRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "DataClassAddAlgorithmsResponse",
                  "properties": {
                    "job": {
                      "$ref": "#/components/schemas/Job",
                      "description": "The initiated job."
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/data-classes/{dataClassId}/algorithms/remove": {
      "parameters": [
        {
          "$ref": "#/components/parameters/dataClassIdParam"
        }
      ],
      "post": {
        "tags": [
          "DataClasses"
        ],
        "summary": "Remove algorithms from a Data Class.",
        "operationId": "remove_data_class_algorithms",
        "requestBody": {
          "description": "Algorithms to remove from a Data Class.",
          "content": {
            "application/json": {
              "schema": {
                "x-body-name": "DataClassRemoveAlgorithmsRequestBody",
                "$ref": "#/components/schemas/DataClassRemoveAlgorithmsRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "DataClassRemoveAlgorithmsResponse",
                  "properties": {
                    "job": {
                      "$ref": "#/components/schemas/Job",
                      "description": "The initiated job."
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/data-classes/{dataClassId}/algorithms/search": {
      "parameters": [
        {
          "$ref": "#/components/parameters/dataClassIdParam"
        }
      ],
      "post": {
        "tags": [
          "DataClasses"
        ],
        "summary": "Search for algorithms of a Data Class.",
        "operationId": "search_data_class_algorithms",
        "x-filterable": {
          "fields": {
            "id": {
              "type": "string"
            },
            "name": {
              "type": "string"
            },
            "description": {
              "type": "string"
            },
            "framework_name": {
              "type": "string"
            },
            "framework_id": {
              "type": "string"
            },
            "plugin_name": {
              "type": "string"
            },
            "plugin_id": {
              "type": "string"
            },
            "engine_name": {
              "type": "string"
            },
            "engine_id": {
              "type": "string"
            },
            "revision_hash": {
              "type": "string"
            },
            "create_date": {
              "type": "string"
            },
            "config_invalid": {
              "type": "boolean"
            },
            "is_tokenization_supported": {
              "type": "boolean"
            },
            "tags": {
              "type": "array[object]",
              "fields": {
                "key": {
                  "type": "string"
                },
                "value": {
                  "type": "string"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/limit"
          },
          {
            "$ref": "#/components/parameters/cursor"
          },
          {
            "$ref": "#/components/parameters/algorithmsSortParam"
          }
        ],
        "requestBody": {
          "$ref": "#/components/requestBodies/SearchBody"
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "SearchAlgorithmsResponse",
                  "properties": {
                    "items": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Algorithm"
                      }
                    },
                    "response_metadata": {
                      "$ref": "#/components/schemas/PaginatedResponseMetadata"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/data-classes/{dataClassId}/tags": {
      "parameters": [
        {
          "$ref": "#/components/parameters/dataClassIdParam"
        }
      ],
      "get": {
        "tags": [
          "DataClasses"
        ],
        "summary": "Get tags for a Data Class.",
        "operationId": "get_data_class_tags",
        "responses": {
          "200": {
            "description": "Ok",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TagsResponse"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "DataClasses"
        ],
        "summary": "Create tags for a Data Class.",
        "operationId": "create_data_class_tags",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "x-body-name": "data_class_tags",
                "$ref": "#/components/schemas/TagsRequest"
              }
            }
          },
          "description": "Tags information for Data Class.",
          "required": true
        },
        "responses": {
          "201": {
            "description": "Data Class tags created",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TagsResponse"
                }
              }
            }
          }
        }
      }
    },
    "/data-classes/{dataClassId}/tags/delete": {
      "parameters": [
        {
          "$ref": "#/components/parameters/dataClassIdParam"
        }
      ],
      "post": {
        "tags": [
          "DataClasses"
        ],
        "summary": "Delete tags for a Data Class.",
        "operationId": "delete_data_class_tags",
        "requestBody": {
          "$ref": "#/components/requestBodies/DeleteTags"
        },
        "responses": {
          "204": {
            "description": "No Content"
          }
        }
      }
    },
    "/discovery-policies": {
      "get": {
        "tags": [
          "DiscoveryPolicies"
        ],
        "summary": "Retrieve discovery policies.",
        "operationId": "get_discovery_policies",
        "parameters": [
          {
            "$ref": "#/components/parameters/limit"
          },
          {
            "$ref": "#/components/parameters/cursor"
          },
          {
            "$ref": "#/components/parameters/discoveryPoliciesSortParam"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "DiscoveryPoliciesListResponse",
                  "properties": {
                    "items": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/DiscoveryPolicy"
                      }
                    },
                    "response_metadata": {
                      "$ref": "#/components/schemas/PaginatedResponseMetadata"
                    }
                  }
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "DiscoveryPolicies"
        ],
        "summary": "Create a discovery policy.",
        "operationId": "create_discovery_policy",
        "requestBody": {
          "description": "The new discovery policy to create",
          "content": {
            "application/json": {
              "schema": {
                "x-body-name": "discovery_policy_create_request",
                "$ref": "#/components/schemas/DiscoveryPolicyCreateRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "Discovery policy creation initiated.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "DiscoveryPolicyCreateResponse",
                  "properties": {
                    "id": {
                      "type": "string",
                      "description": "The ID of the created discovery policy."
                    },
                    "job": {
                      "$ref": "#/components/schemas/Job",
                      "description": "The initiated job."
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/discovery-policies/search": {
      "post": {
        "tags": [
          "DiscoveryPolicies"
        ],
        "summary": "Search for discovery policies.",
        "operationId": "search_discovery_policies",
        "x-filterable": {
          "fields": {
            "id": {
              "type": "string"
            },
            "name": {
              "type": "string"
            },
            "description": {
              "type": "string"
            },
            "account_id": {
              "type": "integer"
            },
            "account_name": {
              "type": "string"
            },
            "dct_managed": {
              "type": "boolean"
            },
            "discovery_method": {
              "type": "string",
              "enum": [
                "CLASSIFIERS",
                "EXPRESSIONS"
              ]
            },
            "assignment_threshold": {
              "type": "integer"
            },
            "engine_id": {
              "type": "string"
            },
            "engine_name": {
              "type": "string"
            },
            "tags": {
              "type": "array[object]",
              "fields": {
                "key": {
                  "type": "string"
                },
                "value": {
                  "type": "string"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/limit"
          },
          {
            "$ref": "#/components/parameters/cursor"
          },
          {
            "$ref": "#/components/parameters/discoveryPoliciesSortParam"
          }
        ],
        "requestBody": {
          "$ref": "#/components/requestBodies/SearchBody"
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "DiscoveryPoliciesSearchResponse",
                  "properties": {
                    "items": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/DiscoveryPolicy"
                      }
                    },
                    "response_metadata": {
                      "$ref": "#/components/schemas/PaginatedResponseMetadata"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/discovery-policies/install": {
      "post": {
        "tags": [
          "DiscoveryPolicies"
        ],
        "summary": "Install discovery policy objects from an uploaded definitions package.",
        "description": "Applies a definitions ZIP (Standard.json plus any value-list files) previously uploaded via POST /masking-file-uploads. Always overwrites existing objects with differing definitions. Net-new objects are created; objects already current are skipped. The policy type (built-in vs. custom) is inferred from the policy name inside the ZIP -- the name \"ASDD Standard\" is reserved for Delphix-provided built-in policies; any other name is treated as a custom policy. This operation requires the IMPORT permission on DISCOVERY_POLICY. IMPORT is a composite permission that covers all constituent writes performed during install (data classes, classifiers, and the discovery policy itself) -- callers do not need separate CREATE or UPDATE permissions on those object types.",
        "operationId": "install_discovery_policy",
        "requestBody": {
          "description": "The parameters to perform an install.",
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "title": "InstallDiscoveryPolicyRequest",
                "x-body-name": "install_discovery_policy_request",
                "required": [
                  "file_reference_id"
                ],
                "properties": {
                  "file_reference_id": {
                    "type": "string",
                    "description": "The file_reference_id of a definitions ZIP previously uploaded via POST /masking-file-uploads.",
                    "example": "delphix-file://upload/f_abc123/Standard_W8UvfkUd.zip"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InstallDiscoveryPolicyResponse"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequestError"
          }
        }
      }
    },
    "/discovery-policies/{discoveryPolicyId}": {
      "parameters": [
        {
          "$ref": "#/components/parameters/discoveryPolicyIdParam"
        }
      ],
      "get": {
        "tags": [
          "DiscoveryPolicies"
        ],
        "summary": "Get a discovery policy by ID.",
        "operationId": "get_discovery_policy_by_id",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DiscoveryPolicy"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "DiscoveryPolicies"
        ],
        "summary": "Delete a discovery policy.",
        "operationId": "delete_discovery_policy",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "DiscoveryPolicyDeleteResponse",
                  "properties": {
                    "job": {
                      "$ref": "#/components/schemas/Job",
                      "description": "The completed job."
                    }
                  }
                }
              }
            }
          }
        }
      },
      "patch": {
        "tags": [
          "DiscoveryPolicies"
        ],
        "summary": "Update a Discovery Policy.",
        "operationId": "update_discovery_policy",
        "requestBody": {
          "description": "The parameters to update a discovery policy.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DiscoveryPolicyUpdateRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Discovery Policy update initiated.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "DiscoveryPolicyUpdateResponse",
                  "properties": {
                    "job": {
                      "$ref": "#/components/schemas/Job"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/discovery-policies/{discoveryPolicyId}/classifiers": {
      "parameters": [
        {
          "$ref": "#/components/parameters/discoveryPolicyIdParam"
        }
      ],
      "get": {
        "tags": [
          "DiscoveryPolicies"
        ],
        "summary": "Get classifiers for a discovery policy.",
        "operationId": "get_discovery_policy_classifiers",
        "parameters": [
          {
            "$ref": "#/components/parameters/limit"
          },
          {
            "$ref": "#/components/parameters/cursor"
          },
          {
            "$ref": "#/components/parameters/classifiersSortParam"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "ClassifiersListResponse",
                  "properties": {
                    "items": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Classifier"
                      }
                    },
                    "response_metadata": {
                      "$ref": "#/components/schemas/PaginatedResponseMetadata"
                    }
                  }
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "DiscoveryPolicies"
        ],
        "summary": "Add classifiers to a discovery policy.",
        "operationId": "add_discovery_policy_classifiers",
        "requestBody": {
          "description": "The parameters to add classifiers to a discovery policy.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DiscoveryPolicyAddClassifiersRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "DiscoveryPolicyAddClassifiersResponse",
                  "properties": {
                    "job": {
                      "$ref": "#/components/schemas/Job"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/discovery-policies/{discoveryPolicyId}/classifiers/remove": {
      "parameters": [
        {
          "$ref": "#/components/parameters/discoveryPolicyIdParam"
        }
      ],
      "post": {
        "tags": [
          "DiscoveryPolicies"
        ],
        "summary": "Remove classifiers from a discovery policy.",
        "operationId": "remove_discovery_policy_classifiers",
        "requestBody": {
          "description": "The parameters to remove classifiers from a discovery policy.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DiscoveryPolicyRemoveClassifiersRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "DiscoveryPolicyRemoveClassifiersResponse",
                  "properties": {
                    "job": {
                      "$ref": "#/components/schemas/Job"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/discovery-policies/{discoveryPolicyId}/classifiers/search": {
      "parameters": [
        {
          "$ref": "#/components/parameters/discoveryPolicyIdParam"
        }
      ],
      "post": {
        "tags": [
          "DiscoveryPolicies"
        ],
        "summary": "Search for classifiers of a discovery policy.",
        "operationId": "search_discovery_policy_classifiers",
        "x-filterable": {
          "fields": {
            "id": {
              "type": "string"
            },
            "name": {
              "type": "string"
            },
            "framework": {
              "type": "string",
              "enum": [
                "REGEX",
                "LIST",
                "PATH",
                "DATA_TYPE"
              ]
            },
            "description": {
              "type": "string"
            },
            "data_class_id": {
              "type": "string"
            },
            "data_class_name": {
              "type": "string"
            },
            "engine_id": {
              "type": "string"
            },
            "engine_name": {
              "type": "string"
            },
            "tags": {
              "type": "array[object]",
              "fields": {
                "key": {
                  "type": "string"
                },
                "value": {
                  "type": "string"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/limit"
          },
          {
            "$ref": "#/components/parameters/cursor"
          },
          {
            "$ref": "#/components/parameters/classifiersSortParam"
          }
        ],
        "requestBody": {
          "$ref": "#/components/requestBodies/SearchBody"
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "ClassifiersSearchResponse",
                  "properties": {
                    "items": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Classifier"
                      }
                    },
                    "response_metadata": {
                      "$ref": "#/components/schemas/PaginatedResponseMetadata"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/discovery-policies/{discoveryPolicyId}/expressions": {
      "parameters": [
        {
          "$ref": "#/components/parameters/discoveryPolicyIdParam"
        }
      ],
      "get": {
        "tags": [
          "DiscoveryPolicies"
        ],
        "summary": "Get discovery expressions for a discovery policy.",
        "operationId": "get_discovery_policy_expressions",
        "parameters": [
          {
            "$ref": "#/components/parameters/limit"
          },
          {
            "$ref": "#/components/parameters/cursor"
          },
          {
            "$ref": "#/components/parameters/discoveryExpressionsSortParam"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "DiscoveryExpressionsListResponse",
                  "properties": {
                    "items": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/DiscoveryExpression"
                      }
                    },
                    "response_metadata": {
                      "$ref": "#/components/schemas/PaginatedResponseMetadata"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/discovery-policies/{discoveryPolicyId}/expressions/search": {
      "parameters": [
        {
          "$ref": "#/components/parameters/discoveryPolicyIdParam"
        }
      ],
      "post": {
        "tags": [
          "DiscoveryPolicies"
        ],
        "summary": "Search for discovery expressions of a discovery policy.",
        "operationId": "search_discovery_policy_expressions",
        "x-filterable": {
          "fields": {
            "id": {
              "type": "string"
            },
            "name": {
              "type": "string"
            },
            "regular_expression": {
              "type": "string"
            },
            "data_level_profiling": {
              "type": "boolean"
            },
            "min_data_length": {
              "type": "integer"
            },
            "engine_id": {
              "type": "string"
            },
            "engine_name": {
              "type": "string"
            },
            "data_class_id": {
              "type": "string"
            },
            "data_class_name": {
              "type": "string"
            },
            "data_type": {
              "type": "string",
              "enum": [
                "String",
                "Number",
                "Date",
                "Binary"
              ]
            },
            "expression_type": {
              "type": "string",
              "enum": [
                "SEARCH",
                "TYPE"
              ]
            },
            "level": {
              "type": "string",
              "enum": [
                "DATA",
                "COLUMN",
                "TYPE"
              ]
            },
            "tags": {
              "type": "array[object]",
              "fields": {
                "key": {
                  "type": "string"
                },
                "value": {
                  "type": "string"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/limit"
          },
          {
            "$ref": "#/components/parameters/cursor"
          },
          {
            "$ref": "#/components/parameters/discoveryExpressionsSortParam"
          }
        ],
        "requestBody": {
          "$ref": "#/components/requestBodies/SearchBody"
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "DiscoveryExpressionsSearchResponse",
                  "properties": {
                    "items": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/DiscoveryExpression"
                      }
                    },
                    "response_metadata": {
                      "$ref": "#/components/schemas/PaginatedResponseMetadata"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/discovery-policies/{discoveryPolicyId}/tags": {
      "parameters": [
        {
          "$ref": "#/components/parameters/discoveryPolicyIdParam"
        }
      ],
      "get": {
        "tags": [
          "DiscoveryPolicies"
        ],
        "summary": "Get tags for a discovery policy.",
        "operationId": "get_discovery_policy_tags",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TagsResponse"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "DiscoveryPolicies"
        ],
        "summary": "Create tags for a discovery policy.",
        "operationId": "create_discovery_policy_tags",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "x-body-name": "discovery_policy_tags",
                "$ref": "#/components/schemas/TagsRequest"
              }
            }
          },
          "description": "Tags information for discovery policy.",
          "required": true
        },
        "responses": {
          "201": {
            "description": "Discovery Policy tags created",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TagsResponse"
                }
              }
            }
          }
        }
      }
    },
    "/discovery-policies/{discoveryPolicyId}/tags/delete": {
      "parameters": [
        {
          "$ref": "#/components/parameters/discoveryPolicyIdParam"
        }
      ],
      "post": {
        "tags": [
          "DiscoveryPolicies"
        ],
        "summary": "Delete tags for a discovery policy.",
        "operationId": "delete_discovery_policy_tags",
        "requestBody": {
          "$ref": "#/components/requestBodies/DeleteTags"
        },
        "responses": {
          "204": {
            "description": "No Content"
          }
        }
      }
    },
    "/executions": {
      "get": {
        "tags": [
          "Executions"
        ],
        "summary": "Retrieve the list of masking executions.",
        "operationId": "get_executions",
        "parameters": [
          {
            "$ref": "#/components/parameters/limit"
          },
          {
            "$ref": "#/components/parameters/cursor"
          },
          {
            "$ref": "#/components/parameters/executionsSortParam"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "ListExecutionsResponse",
                  "properties": {
                    "items": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Execution"
                      }
                    },
                    "response_metadata": {
                      "$ref": "#/components/schemas/PaginatedResponseMetadata"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/executions/search": {
      "post": {
        "tags": [
          "Executions"
        ],
        "summary": "Search masking executions.",
        "operationId": "search_executions",
        "x-filterable": {
          "fields": {
            "id": {
              "type": "string"
            },
            "engine_id": {
              "type": "string"
            },
            "engine_name": {
              "type": "string"
            },
            "job_orchestrator_id": {
              "type": "string"
            },
            "job_orchestrator_name": {
              "type": "string"
            },
            "masking_job_id": {
              "type": "string"
            },
            "masking_job_name": {
              "type": "string"
            },
            "compliance_job_type": {
              "type": "string"
            },
            "dct_managed": {
              "type": "boolean"
            },
            "source_connector_id": {
              "type": "string"
            },
            "source_connector_name": {
              "type": "string"
            },
            "target_connector_id": {
              "type": "string"
            },
            "target_connector_name": {
              "type": "string"
            },
            "status": {
              "type": "string"
            },
            "rows_masked": {
              "type": "integer"
            },
            "rows_total": {
              "type": "integer"
            },
            "bytes_processed": {
              "type": "integer"
            },
            "bytes_total": {
              "type": "integer"
            },
            "start_time": {
              "type": "string"
            },
            "submit_time": {
              "type": "string"
            },
            "end_time": {
              "type": "string"
            },
            "run_duration": {
              "type": "integer"
            },
            "queue_duration": {
              "type": "integer"
            },
            "total_duration": {
              "type": "integer"
            },
            "account_id": {
              "type": "integer"
            },
            "account_name": {
              "type": "string"
            },
            "hyperscale_instance_id": {
              "type": "string"
            },
            "hyperscale_engine_count": {
              "type": "integer"
            },
            "collection_execution_id": {
              "type": "string"
            },
            "owning_entity_id": {
              "type": "string"
            },
            "owning_entity_type": {
              "type": "string"
            },
            "task_events": {
              "type": "array[object]",
              "fields": {
                "event": {
                  "type": "string"
                },
                "status": {
                  "type": "string"
                }
              }
            },
            "hyperscale_task_events": {
              "type": "array[object]",
              "fields": {
                "name": {
                  "type": "string"
                },
                "progress": {
                  "type": "number"
                },
                "status": {
                  "type": "string"
                },
                "processed_objects": {
                  "type": "integer"
                },
                "processed_rows": {
                  "type": "integer"
                },
                "total_constraints": {
                  "type": "integer"
                },
                "processed_indexes": {
                  "type": "integer"
                },
                "total_indexes": {
                  "type": "integer"
                },
                "processed_triggers": {
                  "type": "integer"
                },
                "total_triggers": {
                  "type": "integer"
                },
                "start_time": {
                  "type": "string"
                },
                "end_time": {
                  "type": "string"
                },
                "errors": {
                  "type": "array[object]",
                  "fields": {
                    "table_name": {
                      "type": "string"
                    },
                    "error": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/limit"
          },
          {
            "$ref": "#/components/parameters/cursor"
          },
          {
            "$ref": "#/components/parameters/executionsSortParam"
          }
        ],
        "requestBody": {
          "$ref": "#/components/requestBodies/SearchBody"
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "SearchExecutionsResponse",
                  "properties": {
                    "items": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Execution"
                      }
                    },
                    "response_metadata": {
                      "$ref": "#/components/schemas/PaginatedResponseMetadata"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/executions/{executionId}": {
      "parameters": [
        {
          "$ref": "#/components/parameters/executionIdParam"
        }
      ],
      "get": {
        "summary": "Retrieve an Execution by ID.",
        "operationId": "get_execution_by_id",
        "tags": [
          "Executions"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Execution"
                }
              }
            }
          }
        }
      }
    },
    "/executions/{executionId}/cancel": {
      "parameters": [
        {
          "$ref": "#/components/parameters/executionIdParam"
        }
      ],
      "post": {
        "summary": "Cancel an Execution.",
        "operationId": "cancel_execution",
        "tags": [
          "Executions"
        ],
        "requestBody": {
          "description": "The parameters to cancel an execution.",
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "x-body-name": "cancel_execution",
                "$ref": "#/components/schemas/ExecutionCancelParameters"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/executions/{executionId}/restart": {
      "parameters": [
        {
          "$ref": "#/components/parameters/executionIdParam"
        }
      ],
      "post": {
        "summary": "Restart an Execution (Hyperscale only).",
        "operationId": "restart_execution",
        "tags": [
          "Executions"
        ],
        "responses": {
          "200": {
            "description": "Masking job execution restarted.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "RestartExecutionResponse",
                  "properties": {
                    "job": {
                      "$ref": "#/components/schemas/Job",
                      "description": "The initiated job."
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/executions/{executionId}/cleanup": {
      "parameters": [
        {
          "$ref": "#/components/parameters/executionIdParam"
        }
      ],
      "post": {
        "summary": "Cleanup an Execution (Hyperscale only).",
        "operationId": "cleanup_execution",
        "tags": [
          "Executions"
        ],
        "responses": {
          "200": {
            "description": "Masking job execution cleaned up.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "CleanupExecutionResponse",
                  "properties": {
                    "job": {
                      "$ref": "#/components/schemas/Job",
                      "description": "The initiated job."
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/executions/{executionId}/events": {
      "parameters": [
        {
          "$ref": "#/components/parameters/executionIdParam"
        }
      ],
      "get": {
        "summary": "Retrieve the list of events for a masking execution.",
        "operationId": "get_execution_events",
        "parameters": [
          {
            "$ref": "#/components/parameters/limit"
          },
          {
            "$ref": "#/components/parameters/cursor"
          },
          {
            "$ref": "#/components/parameters/executionEventsSortParam"
          }
        ],
        "tags": [
          "Executions"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "ListExecutionEventsResponse",
                  "properties": {
                    "items": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/ExecutionEvent"
                      }
                    },
                    "response_metadata": {
                      "$ref": "#/components/schemas/PaginatedResponseMetadata"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/executions/{executionId}/events/search": {
      "parameters": [
        {
          "$ref": "#/components/parameters/executionIdParam"
        }
      ],
      "post": {
        "tags": [
          "Executions"
        ],
        "summary": "Search masking executions events.",
        "operationId": "search_execution_events",
        "parameters": [
          {
            "$ref": "#/components/parameters/limit"
          },
          {
            "$ref": "#/components/parameters/cursor"
          },
          {
            "$ref": "#/components/parameters/executionEventsSortParam"
          }
        ],
        "x-filterable": {
          "fields": {
            "id": {
              "type": "string"
            },
            "execution_id": {
              "type": "string"
            },
            "execution_component_id": {
              "type": "string"
            },
            "event_type": {
              "type": "string"
            },
            "severity": {
              "type": "string"
            },
            "cause": {
              "type": "string"
            },
            "count": {
              "type": "integer"
            },
            "timestamp": {
              "type": "string"
            },
            "masked_object_name": {
              "type": "string"
            },
            "algorithm_name": {
              "type": "string"
            },
            "exception_type": {
              "type": "string"
            },
            "exception_detail": {
              "type": "string"
            }
          }
        },
        "requestBody": {
          "$ref": "#/components/requestBodies/SearchBody"
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "SearchExecutionEventsResponse",
                  "properties": {
                    "items": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/ExecutionEvent"
                      }
                    },
                    "response_metadata": {
                      "$ref": "#/components/schemas/PaginatedResponseMetadata"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/executions/{executionId}/log": {
      "parameters": [
        {
          "$ref": "#/components/parameters/executionIdParam"
        }
      ],
      "get": {
        "summary": "Retrieve the masking execution log.",
        "description": "Returns the execution log information for the given execution.",
        "operationId": "get_execution_log",
        "tags": [
          "Executions"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ExecutionLog"
                }
              }
            }
          },
          "404": {
            "description": "Execution not found or log not available."
          }
        }
      }
    },
    "/executions/{executionId}/execution-components": {
      "parameters": [
        {
          "$ref": "#/components/parameters/executionIdParam"
        }
      ],
      "get": {
        "summary": "Get execution components for an execution.",
        "operationId": "get_execution_components",
        "parameters": [
          {
            "$ref": "#/components/parameters/limit"
          },
          {
            "$ref": "#/components/parameters/cursor"
          },
          {
            "$ref": "#/components/parameters/executionComponentsSortParam"
          }
        ],
        "tags": [
          "Executions"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "ExecutionComponentsListResponse",
                  "properties": {
                    "items": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/ExecutionComponent"
                      }
                    },
                    "response_metadata": {
                      "$ref": "#/components/schemas/PaginatedResponseMetadata"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/executions/{executionId}/execution-components/search": {
      "parameters": [
        {
          "$ref": "#/components/parameters/executionIdParam"
        }
      ],
      "post": {
        "tags": [
          "Executions"
        ],
        "summary": "Search execution components for an execution.",
        "operationId": "search_execution_components",
        "parameters": [
          {
            "$ref": "#/components/parameters/limit"
          },
          {
            "$ref": "#/components/parameters/cursor"
          },
          {
            "$ref": "#/components/parameters/executionComponentsSortParam"
          }
        ],
        "x-filterable": {
          "fields": {
            "id": {
              "type": "string"
            },
            "name": {
              "type": "string"
            },
            "execution_id": {
              "type": "string"
            },
            "status": {
              "type": "string"
            },
            "rows_masked": {
              "type": "integer"
            },
            "rows_total": {
              "type": "integer"
            },
            "bytes_processed": {
              "type": "integer"
            },
            "bytes_total": {
              "type": "integer"
            },
            "start_time": {
              "type": "string"
            },
            "end_time": {
              "type": "string"
            },
            "non_conforming_data_count": {
              "type": "integer"
            }
          }
        },
        "requestBody": {
          "$ref": "#/components/requestBodies/SearchBody"
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "ExecutionComponentsSearchResponse",
                  "properties": {
                    "items": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/ExecutionComponent"
                      }
                    },
                    "response_metadata": {
                      "$ref": "#/components/schemas/PaginatedResponseMetadata"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/executions/{executionId}/execution-components/{executionComponentId}": {
      "parameters": [
        {
          "$ref": "#/components/parameters/executionIdParam"
        },
        {
          "$ref": "#/components/parameters/executionComponentIdParam"
        }
      ],
      "get": {
        "summary": "Get an execution component by ID.",
        "operationId": "get_execution_component_by_id",
        "tags": [
          "Executions"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ExecutionComponent"
                }
              }
            }
          }
        }
      }
    },
    "/executions/{executionId}/execution-components/{executionComponentId}/log": {
      "parameters": [
        {
          "$ref": "#/components/parameters/executionIdParam"
        },
        {
          "$ref": "#/components/parameters/executionComponentIdParam"
        }
      ],
      "get": {
        "summary": "Get an execution component log.",
        "description": "Returns the execution component log information for the given execution component.",
        "operationId": "get_execution_component_log",
        "tags": [
          "Executions"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ExecutionComponentLog"
                }
              }
            }
          },
          "404": {
            "description": "Execution component not found or log not available."
          }
        }
      }
    },
    "/executions/{executionId}/discovery-results": {
      "parameters": [
        {
          "$ref": "#/components/parameters/executionIdParam"
        }
      ],
      "get": {
        "summary": "Retrieve the list of discovery results for a masking execution.",
        "operationId": "get_discovery_results",
        "parameters": [
          {
            "$ref": "#/components/parameters/limit"
          },
          {
            "$ref": "#/components/parameters/cursor"
          },
          {
            "$ref": "#/components/parameters/discoveryResultSortParam"
          }
        ],
        "tags": [
          "Executions"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "ListDiscoveryResultsResponse",
                  "properties": {
                    "items": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/DiscoveryResult"
                      }
                    },
                    "response_metadata": {
                      "$ref": "#/components/schemas/PaginatedResponseMetadata"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/executions/{executionId}/discovery-results/search": {
      "parameters": [
        {
          "$ref": "#/components/parameters/executionIdParam"
        }
      ],
      "post": {
        "tags": [
          "Executions"
        ],
        "summary": "Search discovery results associated with execution of a discovery job",
        "operationId": "search_discovery_results",
        "parameters": [
          {
            "$ref": "#/components/parameters/limit"
          },
          {
            "$ref": "#/components/parameters/cursor"
          },
          {
            "$ref": "#/components/parameters/discoveryResultSortParam"
          }
        ],
        "x-filterable": {
          "fields": {
            "id": {
              "type": "string"
            },
            "table_name": {
              "type": "string"
            },
            "file_name": {
              "type": "string"
            },
            "column_name": {
              "type": "string"
            },
            "field_name": {
              "type": "string"
            },
            "data_class_name": {
              "type": "string"
            },
            "algorithm_name": {
              "type": "string"
            },
            "data_type": {
              "type": "string"
            },
            "confidence": {
              "type": "integer"
            },
            "is_profiler_writable": {
              "type": "boolean"
            }
          }
        },
        "requestBody": {
          "$ref": "#/components/requestBodies/SearchBody"
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "SearchDiscoveryResultsResponse",
                  "properties": {
                    "items": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/DiscoveryResult"
                      }
                    },
                    "response_metadata": {
                      "$ref": "#/components/schemas/PaginatedResponseMetadata"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/ssh-keys": {
      "post": {
        "summary": "Create an SSH key",
        "description": "Create an SSH key in DCT using a previously uploaded file reference. The key name may be supplied explicitly; if omitted, it is derived from the uploaded file's filename. For use with SFTP file connectors.",
        "operationId": "create_ssh_key",
        "tags": [
          "SSH Keys"
        ],
        "requestBody": {
          "description": "The parameters to create an SSH key.",
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateSshKeyRequest"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "SSH key created successfully",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "CreateSshKeyResponse",
                  "properties": {
                    "job": {
                      "$ref": "#/components/schemas/Job",
                      "description": "The completed job."
                    },
                    "id": {
                      "type": "string",
                      "description": "The ID of the created SSH key."
                    }
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequestError"
          }
        }
      },
      "get": {
        "summary": "List SSH keys",
        "description": "List all SSH keys stored in DCT.",
        "operationId": "get_ssh_keys",
        "tags": [
          "SSH Keys"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/limit"
          },
          {
            "$ref": "#/components/parameters/cursor"
          },
          {
            "$ref": "#/components/parameters/sshKeysSortParam"
          }
        ],
        "responses": {
          "200": {
            "description": "A list of SSH keys",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ListSshKeysResponse"
                }
              }
            }
          }
        }
      }
    },
    "/ssh-keys/search": {
      "post": {
        "summary": "Search SSH keys",
        "description": "Search for SSH keys using a filter expression, with pagination and sorting.",
        "operationId": "search_ssh_keys",
        "tags": [
          "SSH Keys"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/limit"
          },
          {
            "$ref": "#/components/parameters/cursor"
          },
          {
            "$ref": "#/components/parameters/sshKeysSortParam"
          }
        ],
        "requestBody": {
          "$ref": "#/components/requestBodies/SearchBody"
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "SearchSshKeysResponse",
                  "properties": {
                    "items": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/SshKeyResponse"
                      }
                    },
                    "response_metadata": {
                      "$ref": "#/components/schemas/PaginatedResponseMetadata"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/ssh-keys/{sshKeyId}": {
      "get": {
        "summary": "Get an SSH key",
        "description": "Get an SSH key by ID (UUID).",
        "operationId": "get_ssh_key",
        "tags": [
          "SSH Keys"
        ],
        "parameters": [
          {
            "name": "sshKeyId",
            "in": "path",
            "description": "The SSH key UUID.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "SSH key details",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SshKeyResponse"
                }
              }
            }
          },
          "404": {
            "$ref": "#/components/responses/NotFoundError"
          }
        }
      },
      "patch": {
        "summary": "Update an SSH key",
        "description": "Update the name, notes, and/or underlying key file of an SSH key.",
        "operationId": "update_ssh_key",
        "tags": [
          "SSH Keys"
        ],
        "parameters": [
          {
            "name": "sshKeyId",
            "in": "path",
            "description": "The SSH key UUID.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "The parameters to update an SSH key.",
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateSshKeyRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "SSH key updated successfully",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "UpdateSshKeyResponse",
                  "properties": {
                    "job": {
                      "$ref": "#/components/schemas/Job",
                      "description": "The completed job."
                    }
                  }
                }
              }
            }
          },
          "404": {
            "$ref": "#/components/responses/NotFoundError"
          }
        }
      },
      "delete": {
        "summary": "Delete an SSH key",
        "description": "Delete an SSH key from DCT.",
        "operationId": "delete_ssh_key",
        "tags": [
          "SSH Keys"
        ],
        "parameters": [
          {
            "name": "sshKeyId",
            "in": "path",
            "description": "The SSH key UUID.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "SSH key deleted",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "DeleteSshKeyResponse",
                  "properties": {
                    "job": {
                      "$ref": "#/components/schemas/Job",
                      "description": "The completed job."
                    }
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequestError"
          },
          "404": {
            "$ref": "#/components/responses/NotFoundError"
          }
        }
      }
    },
    "/ssh-keys/{sshKeyId}/tags": {
      "parameters": [
        {
          "name": "sshKeyId",
          "in": "path",
          "description": "The SSH key UUID.",
          "required": true,
          "schema": {
            "type": "string"
          }
        }
      ],
      "post": {
        "tags": [
          "SSH Keys"
        ],
        "summary": "Add tags to an SSH key.",
        "operationId": "create_ssh_key_tags",
        "requestBody": {
          "description": "The parameters to add tags to an SSH key.",
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "x-body-name": "ssh_key_tags",
                "$ref": "#/components/schemas/TagsRequest"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Created",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TagsResponse"
                }
              }
            }
          },
          "404": {
            "$ref": "#/components/responses/NotFoundError"
          }
        }
      },
      "get": {
        "tags": [
          "SSH Keys"
        ],
        "summary": "Get tags for an SSH key.",
        "operationId": "get_ssh_key_tags",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TagsResponse"
                }
              }
            }
          },
          "404": {
            "$ref": "#/components/responses/NotFoundError"
          }
        }
      }
    },
    "/ssh-keys/{sshKeyId}/tags/delete": {
      "parameters": [
        {
          "name": "sshKeyId",
          "in": "path",
          "description": "The SSH key UUID.",
          "required": true,
          "schema": {
            "type": "string"
          }
        }
      ],
      "post": {
        "tags": [
          "SSH Keys"
        ],
        "summary": "Remove tags from an SSH key.",
        "operationId": "delete_ssh_key_tags",
        "requestBody": {
          "$ref": "#/components/requestBodies/DeleteTags",
          "required": false
        },
        "responses": {
          "204": {
            "description": "No Content"
          },
          "404": {
            "$ref": "#/components/responses/NotFoundError"
          }
        }
      }
    },
    "/masking-file-uploads": {
      "get": {
        "tags": [
          "MaskingFiles"
        ],
        "summary": "Retrieve the list of masking file uploads.",
        "operationId": "get_masking_files",
        "parameters": [
          {
            "$ref": "#/components/parameters/limit"
          },
          {
            "$ref": "#/components/parameters/cursor"
          },
          {
            "$ref": "#/components/parameters/maskingFilesSortParam"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "ListMaskingFilesResponse",
                  "properties": {
                    "items": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/MaskingFileUpload"
                      }
                    },
                    "response_metadata": {
                      "$ref": "#/components/schemas/PaginatedResponseMetadata"
                    }
                  }
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "MaskingFiles"
        ],
        "summary": "Upload a file for masking.",
        "operationId": "upload_masking_file",
        "requestBody": {
          "description": "The parameters to upload a file for masking.",
          "content": {
            "multipart/form-data": {
              "schema": {
                "type": "object",
                "required": [
                  "file"
                ],
                "properties": {
                  "file": {
                    "description": "The file to upload.",
                    "type": "string",
                    "format": "binary"
                  },
                  "description": {
                    "description": "A description of this file.",
                    "type": "string"
                  },
                  "tags": {
                    "description": "The tags of this file.",
                    "type": "array",
                    "items": {
                      "$ref": "#/components/schemas/Tag"
                    }
                  }
                }
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "File has been uploaded.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "MaskingFileUploadResponse",
                  "properties": {
                    "file": {
                      "$ref": "#/components/schemas/MaskingFileUpload",
                      "description": "The uploaded file."
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/masking-file-uploads/{maskingFileId}": {
      "parameters": [
        {
          "$ref": "#/components/parameters/maskingFileIdParam"
        }
      ],
      "patch": {
        "tags": [
          "MaskingFiles"
        ],
        "summary": "Update a masking file upload by id.",
        "operationId": "update_masking_file_upload_by_id",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/MaskingFileUploadUpdateParameters"
              }
            }
          },
          "description": "The new data to update a masking file upload."
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MaskingFileUpload"
                }
              }
            }
          }
        }
      },
      "get": {
        "summary": "Get a masking file by ID or name.",
        "operationId": "get_masking_file_by_id",
        "tags": [
          "MaskingFiles"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MaskingFileUpload"
                }
              }
            }
          }
        }
      }
    },
    "/masking-file-uploads/search": {
      "post": {
        "tags": [
          "MaskingFiles"
        ],
        "summary": "Search for masking files.",
        "operationId": "search_masking_files",
        "x-filterable": {
          "fields": {
            "id": {
              "type": "string"
            },
            "description": {
              "type": "string"
            },
            "filename": {
              "type": "string"
            },
            "file_size": {
              "type": "string"
            },
            "file_checksum": {
              "type": "string"
            },
            "created_date": {
              "type": "string"
            },
            "file_reference_id": {
              "type": "string"
            },
            "tags": {
              "type": "array[object]",
              "fields": {
                "key": {
                  "type": "string"
                },
                "value": {
                  "type": "string"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/limit"
          },
          {
            "$ref": "#/components/parameters/cursor"
          },
          {
            "$ref": "#/components/parameters/maskingFilesSortParam"
          }
        ],
        "requestBody": {
          "$ref": "#/components/requestBodies/SearchBody"
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "SearchMaskingFilesResponse",
                  "properties": {
                    "items": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/MaskingFileUpload"
                      }
                    },
                    "response_metadata": {
                      "$ref": "#/components/schemas/PaginatedResponseMetadata"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/masking-file-uploads/{maskingFileId}/tags": {
      "parameters": [
        {
          "$ref": "#/components/parameters/maskingFileIdParam"
        }
      ],
      "get": {
        "summary": "Get tags for a masking file.",
        "operationId": "get_masking_file_tags",
        "tags": [
          "MaskingFiles"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TagsResponse"
                }
              }
            }
          }
        }
      },
      "post": {
        "parameters": [
          {
            "$ref": "#/components/parameters/maskingFileIdParam"
          }
        ],
        "summary": "Create tags for a masking file.",
        "operationId": "create_masking_file_tags",
        "tags": [
          "MaskingFiles"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "x-body-name": "masking_file_tags",
                "$ref": "#/components/schemas/TagsRequest"
              }
            }
          },
          "description": "Tags information for masking file upload.",
          "required": true
        },
        "responses": {
          "201": {
            "description": "Masking file tags created",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TagsResponse"
                }
              }
            }
          }
        }
      }
    },
    "/masking-file-uploads/{maskingFileId}/tags/delete": {
      "parameters": [
        {
          "$ref": "#/components/parameters/maskingFileIdParam"
        }
      ],
      "post": {
        "tags": [
          "MaskingFiles"
        ],
        "summary": "Delete tags for a masking file",
        "operationId": "delete_masking_file_tags",
        "requestBody": {
          "$ref": "#/components/requestBodies/DeleteTags"
        },
        "responses": {
          "204": {
            "description": "No Content"
          }
        }
      }
    },
    "/masking-file-uploads/{maskingFileId}/consumers": {
      "parameters": [
        {
          "$ref": "#/components/parameters/maskingFileIdParam"
        }
      ],
      "get": {
        "tags": [
          "MaskingFiles"
        ],
        "summary": "Get all consumers associated with this masking file",
        "operationId": "get_masking_file_consumers",
        "parameters": [
          {
            "$ref": "#/components/parameters/limit"
          },
          {
            "$ref": "#/components/parameters/cursor"
          },
          {
            "$ref": "#/components/parameters/ConsumersSortParam"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "ListMaskingFileConsumersResponse",
                  "properties": {
                    "items": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Consumer"
                      }
                    },
                    "response_metadata": {
                      "$ref": "#/components/schemas/PaginatedResponseMetadata"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/masking-file-uploads/{maskingFileId}/consumers/search": {
      "parameters": [
        {
          "$ref": "#/components/parameters/maskingFileIdParam"
        }
      ],
      "post": {
        "tags": [
          "MaskingFiles"
        ],
        "summary": "Search consumers of a masking file.",
        "operationId": "search_masking_file_consumers",
        "x-filterable": {
          "fields": {
            "parent_id": {
              "type": "string"
            },
            "parent_type": {
              "type": "string"
            },
            "parent_name": {
              "type": "string"
            }
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/limit"
          },
          {
            "$ref": "#/components/parameters/cursor"
          },
          {
            "$ref": "#/components/parameters/ConsumersSortParam"
          }
        ],
        "requestBody": {
          "$ref": "#/components/requestBodies/SearchBody"
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "SearchMaskingFileConsumersResponse",
                  "properties": {
                    "items": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Consumer"
                      }
                    },
                    "response_metadata": {
                      "$ref": "#/components/schemas/PaginatedResponseMetadata"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/masking-file-downloads/{fileDownloadId}/download-url": {
      "post": {
        "tags": [
          "MaskingFiles"
        ],
        "summary": "Generate a download url for a masking file.",
        "operationId": "create_masking_file_download_url",
        "parameters": [
          {
            "$ref": "#/components/parameters/fileDownloadId"
          }
        ],
        "responses": {
          "200": {
            "description": "Download URL created.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "MaskingFileDownloadUrlCreateResponse",
                  "properties": {
                    "url": {
                      "type": "string",
                      "description": "The download URL for the masking file."
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/masking-jobs": {
      "get": {
        "deprecated": true,
        "tags": [
          "MaskingJobs"
        ],
        "summary": "Retrieve the list of masking jobs.",
        "operationId": "get_masking_jobs",
        "parameters": [
          {
            "$ref": "#/components/parameters/limit"
          },
          {
            "$ref": "#/components/parameters/cursor"
          },
          {
            "$ref": "#/components/parameters/maskingJobsSortParam"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "ListMaskingJobsResponse",
                  "properties": {
                    "items": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/MaskingJob"
                      }
                    },
                    "response_metadata": {
                      "$ref": "#/components/schemas/PaginatedResponseMetadata"
                    }
                  }
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "MaskingJobs"
        ],
        "summary": "Create a Masking Job.",
        "operationId": "create_masking_job",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "x-body-name": "create_job_request",
                "$ref": "#/components/schemas/CreateMaskingJobRequest"
              }
            }
          },
          "description": "Input params to create a masking job.",
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "CreateMaskingJobResponse",
                  "properties": {
                    "id": {
                      "type": "string",
                      "description": "The ID of the created masking job."
                    },
                    "job": {
                      "$ref": "#/components/schemas/Job",
                      "description": "The initiated DCT job."
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/masking-jobs/search": {
      "post": {
        "deprecated": true,
        "tags": [
          "MaskingJobs"
        ],
        "summary": "Search masking jobs.",
        "operationId": "search_masking_jobs",
        "x-filterable": {
          "fields": {
            "id": {
              "type": "string"
            },
            "name": {
              "type": "string"
            },
            "is_on_the_fly_masking": {
              "type": "boolean"
            },
            "creation_date": {
              "type": "string"
            },
            "last_completed_execution_date": {
              "type": "string"
            },
            "last_execution_status": {
              "type": "string"
            },
            "last_execution_id": {
              "type": "string"
            },
            "connector_username": {
              "type": "string"
            },
            "on_the_fly_source_connector_username": {
              "type": "string"
            },
            "rule_set_id": {
              "type": "string"
            },
            "rule_set_name": {
              "type": "string"
            },
            "ruleset.connector_id": {
              "type": "string"
            },
            "ruleset.type": {
              "type": "string"
            },
            "ruleset.name": {
              "type": "string"
            },
            "ruleset.refresh_drops_table": {
              "type": "boolean"
            },
            "ruleset.algorithms": {
              "type": "array[string]"
            },
            "hyperscale_instance_id": {
              "type": "string"
            },
            "description": {
              "type": "string"
            },
            "dataset_id": {
              "type": "string"
            },
            "retain_execution_data": {
              "type": "string"
            },
            "max_memory": {
              "type": "integer"
            },
            "min_memory": {
              "type": "integer"
            },
            "feedback_size": {
              "type": "integer"
            },
            "stream_row_limit": {
              "type": "integer"
            },
            "num_input_streams": {
              "type": "integer"
            },
            "max_concurrent_source_connections": {
              "type": "integer"
            },
            "max_concurrent_target_connections": {
              "type": "integer"
            },
            "parallelism_degree": {
              "type": "integer"
            },
            "tags": {
              "type": "array[object]",
              "fields": {
                "key": {
                  "type": "string"
                },
                "value": {
                  "type": "string"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/limit"
          },
          {
            "$ref": "#/components/parameters/cursor"
          },
          {
            "$ref": "#/components/parameters/maskingJobsSortParam"
          }
        ],
        "requestBody": {
          "$ref": "#/components/requestBodies/SearchBody"
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "SearchMaskingJobsResponse",
                  "properties": {
                    "items": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/MaskingJob"
                      }
                    },
                    "response_metadata": {
                      "$ref": "#/components/schemas/PaginatedResponseMetadata"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/masking-jobs/source-engines": {
      "get": {
        "tags": [
          "MaskingJobs"
        ],
        "summary": "Retrieve the list of masking jobs along with their source engine.",
        "operationId": "get_masking_job_source_engines",
        "parameters": [
          {
            "$ref": "#/components/parameters/limit"
          },
          {
            "$ref": "#/components/parameters/cursor"
          },
          {
            "$ref": "#/components/parameters/maskingJobSourceEnginesSortParam"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "ListMaskingJobSourceEnginesResponse",
                  "properties": {
                    "items": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/MaskingJobSourceEngine"
                      }
                    },
                    "response_metadata": {
                      "$ref": "#/components/schemas/PaginatedResponseMetadata"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/masking-jobs/source-engines/search": {
      "post": {
        "tags": [
          "MaskingJobs"
        ],
        "summary": "Search the list of masking jobs along with their source engine.",
        "operationId": "search_masking_job_source_engines",
        "x-filterable": {
          "fields": {
            "masking_job_id": {
              "type": "string"
            },
            "source_engine_id": {
              "type": "string"
            }
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/limit"
          },
          {
            "$ref": "#/components/parameters/cursor"
          },
          {
            "$ref": "#/components/parameters/maskingJobSourceEnginesSortParam"
          }
        ],
        "requestBody": {
          "$ref": "#/components/requestBodies/SearchBody"
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "SearchMaskingJobSourceEnginesResponse",
                  "properties": {
                    "items": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/MaskingJobSourceEngine"
                      }
                    },
                    "response_metadata": {
                      "$ref": "#/components/schemas/PaginatedResponseMetadata"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/masking-jobs/{maskingJobId}": {
      "parameters": [
        {
          "$ref": "#/components/parameters/maskingJobIdParam"
        }
      ],
      "delete": {
        "tags": [
          "MaskingJobs"
        ],
        "summary": "Delete a masking job.",
        "operationId": "delete_masking_job",
        "parameters": [
          {
            "$ref": "#/components/parameters/maskingJobDeleteForceParam"
          }
        ],
        "responses": {
          "200": {
            "description": "Masking job delete initiated.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "DeleteMaskingJobResponse",
                  "properties": {
                    "job": {
                      "$ref": "#/components/schemas/Job",
                      "description": "The initiated job."
                    }
                  }
                }
              }
            }
          }
        }
      },
      "get": {
        "deprecated": true,
        "summary": "Retrieve a MaskingJob by ID.",
        "operationId": "get_masking_job_by_id",
        "tags": [
          "MaskingJobs"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MaskingJob"
                }
              }
            }
          }
        }
      },
      "patch": {
        "summary": "Update values of a MaskingJob.",
        "operationId": "update_masking_job_by_id",
        "tags": [
          "MaskingJobs"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateMaskingJobParameters"
              }
            }
          },
          "description": "The new data to update a Masking Job."
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MaskingJob"
                }
              }
            }
          }
        }
      }
    },
    "/masking-jobs/{maskingJobId}/copy": {
      "parameters": [
        {
          "$ref": "#/components/parameters/maskingJobIdParam"
        }
      ],
      "post": {
        "deprecated": true,
        "tags": [
          "MaskingJobs"
        ],
        "summary": "Copies the masking job to another engine.",
        "operationId": "copy_masking_job",
        "requestBody": {
          "description": "The parameters to copy a masking job.",
          "content": {
            "application/json": {
              "schema": {
                "x-body-name": "copy_masking_job_params",
                "$ref": "#/components/schemas/CopyMaskingJobParameters"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Copy masking job initiated.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "CopyMaskingJobResponse",
                  "properties": {
                    "job": {
                      "$ref": "#/components/schemas/Job",
                      "description": "The initiated job."
                    },
                    "masking_job_id": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/masking-jobs/{maskingJobId}/migrate": {
      "parameters": [
        {
          "$ref": "#/components/parameters/maskingJobIdParam"
        }
      ],
      "post": {
        "deprecated": true,
        "tags": [
          "MaskingJobs"
        ],
        "summary": "Migrates the masking job from its current source engine to another engine.",
        "operationId": "migrate_masking_job",
        "requestBody": {
          "description": "The parameters to migrate a masking job.",
          "content": {
            "application/json": {
              "schema": {
                "x-body-name": "migrate_masking_job_params",
                "$ref": "#/components/schemas/MigrateMaskingJobParameters"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Migrate masking job initiated.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "MigrateMaskingJobResponse",
                  "properties": {
                    "job": {
                      "$ref": "#/components/schemas/Job",
                      "description": "The initiated job."
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/masking-jobs/{maskingJobId}/connectors": {
      "parameters": [
        {
          "$ref": "#/components/parameters/maskingJobIdParam"
        }
      ],
      "get": {
        "deprecated": true,
        "tags": [
          "MaskingJobs"
        ],
        "summary": "Get connectors for a Masking Job by ID.",
        "operationId": "get_masking_job_connectors",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MaskingJobConnectorsResponse"
                }
              }
            }
          }
        }
      }
    },
    "/masking-jobs/{maskingJobId}/execute": {
      "parameters": [
        {
          "$ref": "#/components/parameters/maskingJobIdParam"
        }
      ],
      "post": {
        "deprecated": true,
        "summary": "Execute a MaskingJob.",
        "operationId": "execute_masking_job",
        "tags": [
          "MaskingJobs"
        ],
        "requestBody": {
          "description": "The parameters to execute a masking job.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ExecuteMaskingJobParameters"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Masking job execute initiated.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "ExecuteMaskingJobResponse",
                  "properties": {
                    "job": {
                      "$ref": "#/components/schemas/Job",
                      "description": "The initiated job."
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/masking-jobs/{maskingJobId}/re-import": {
      "parameters": [
        {
          "$ref": "#/components/parameters/maskingJobIdParam"
        }
      ],
      "post": {
        "tags": [
          "MaskingJobs"
        ],
        "summary": "Re-import the dataset from the source MaskingJob (Hyperscale Job only).",
        "operationId": "re_import_masking_job",
        "responses": {
          "200": {
            "description": "Masking job re-import initiated.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "ReImportMaskingJobResponse",
                  "properties": {
                    "job": {
                      "$ref": "#/components/schemas/Job",
                      "description": "The initiated job."
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/masking-jobs/{maskingJobId}/tags": {
      "parameters": [
        {
          "$ref": "#/components/parameters/maskingJobIdParam"
        }
      ],
      "post": {
        "deprecated": true,
        "tags": [
          "MaskingJobs"
        ],
        "summary": "Create tags for a Masking Job.",
        "operationId": "create_masking_job_tag",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "x-body-name": "masking_job_tags",
                "$ref": "#/components/schemas/TagsRequest"
              }
            }
          },
          "description": "Tags information for Masking Job.",
          "required": true
        },
        "responses": {
          "201": {
            "description": "Created",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TagsResponse"
                }
              }
            }
          }
        }
      },
      "get": {
        "deprecated": true,
        "tags": [
          "MaskingJobs"
        ],
        "summary": "Get tags for a Masking Job.",
        "operationId": "get_masking_job_tag",
        "responses": {
          "200": {
            "description": "Ok",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TagsResponse"
                }
              }
            }
          }
        }
      }
    },
    "/masking-jobs/{maskingJobId}/tags/delete": {
      "parameters": [
        {
          "$ref": "#/components/parameters/maskingJobIdParam"
        }
      ],
      "post": {
        "deprecated": true,
        "tags": [
          "MaskingJobs"
        ],
        "summary": "Delete tags for a Masking Job.",
        "operationId": "delete_masking_job_tag",
        "requestBody": {
          "$ref": "#/components/requestBodies/DeleteTags",
          "required": false
        },
        "responses": {
          "204": {
            "description": "No Content"
          }
        }
      }
    },
    "/masking-jobs/{maskingJobId}/add-engine": {
      "parameters": [
        {
          "$ref": "#/components/parameters/maskingJobIdParam"
        }
      ],
      "post": {
        "tags": [
          "MaskingJobs"
        ],
        "summary": "Add an engine to a Masking Job (Hyperscale Job only).",
        "operationId": "add_engine_to_masking_job",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "x-body-name": "engine_id",
                "$ref": "#/components/schemas/EngineIdBody"
              }
            }
          },
          "description": "Body containing the ID of the registered engine.",
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "AddEngineToJobResponse",
                  "properties": {
                    "job": {
                      "$ref": "#/components/schemas/Job"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/masking-jobs/{maskingJobId}/remove-engine": {
      "parameters": [
        {
          "$ref": "#/components/parameters/maskingJobIdParam"
        }
      ],
      "post": {
        "tags": [
          "MaskingJobs"
        ],
        "summary": "Remove an engine from a Masking Job (Hyperscale Job only).",
        "operationId": "remove_engine_from_masking_job",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "x-body-name": "engine_id",
                "$ref": "#/components/schemas/EngineIdBody"
              }
            }
          },
          "description": "Body containing the ID of the registered engine.",
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "RemoveEngineFromJobResponse",
                  "properties": {
                    "job": {
                      "$ref": "#/components/schemas/Job"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/algorithms": {
      "get": {
        "tags": [
          "Algorithms"
        ],
        "summary": "Retrieve the list of algorithms.",
        "operationId": "get_algorithms",
        "parameters": [
          {
            "$ref": "#/components/parameters/limit"
          },
          {
            "$ref": "#/components/parameters/cursor"
          },
          {
            "$ref": "#/components/parameters/algorithmsSortParam"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "ListAlgorithmsResponse",
                  "properties": {
                    "items": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Algorithm"
                      }
                    },
                    "response_metadata": {
                      "$ref": "#/components/schemas/PaginatedResponseMetadata"
                    }
                  }
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "Algorithms"
        ],
        "summary": "Create a new algorithm.",
        "operationId": "create_algorithm",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "x-body-name": "algorithm_create_request",
                "$ref": "#/components/schemas/AlgorithmCreateRequest"
              }
            }
          },
          "description": "The new Algorithm to create",
          "required": true
        },
        "responses": {
          "201": {
            "description": "Algorithm creation initiated.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "AlgorithmCreateResponse",
                  "properties": {
                    "job": {
                      "$ref": "#/components/schemas/Job",
                      "description": "The initiated job."
                    },
                    "id": {
                      "type": "string",
                      "description": "The id of the created algorithm."
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/algorithms/{algorithmId}": {
      "parameters": [
        {
          "$ref": "#/components/parameters/algorithmIdParam"
        }
      ],
      "get": {
        "summary": "Get an algorithm by ID.",
        "operationId": "get_algorithm_by_id",
        "tags": [
          "Algorithms"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Algorithm"
                }
              }
            }
          }
        }
      },
      "patch": {
        "tags": [
          "Algorithms"
        ],
        "summary": "Update an Algorithm.",
        "operationId": "update_algorithm",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "x-body-name": "algorithm_update_request",
                "$ref": "#/components/schemas/AlgorithmUpdateRequest"
              }
            }
          },
          "description": "Update an Algorithm.",
          "required": true
        },
        "responses": {
          "200": {
            "description": "Algorithm update initiated.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "AlgorithmUpdateResponse",
                  "properties": {
                    "job": {
                      "$ref": "#/components/schemas/Job",
                      "description": "The initiated job."
                    }
                  }
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "Algorithms"
        ],
        "summary": "Delete an Algorithm.",
        "operationId": "delete_algorithm",
        "parameters": [
          {
            "$ref": "#/components/parameters/algorithmDeleteForceParam"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "AlgorithmDeleteResponse",
                  "properties": {
                    "job": {
                      "$ref": "#/components/schemas/Job",
                      "description": "The completed job."
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Mapping algorithm still has un-synced mappings (force-overridable), or a mapping sync is actively in progress for this algorithm (not force-overridable)."
          }
        }
      }
    },
    "/algorithms/{algorithmId}/mappings/import": {
      "parameters": [
        {
          "$ref": "#/components/parameters/algorithmIdParam"
        }
      ],
      "post": {
        "tags": [
          "Algorithms"
        ],
        "summary": "Import mappings for a Mapping Algorithm.",
        "operationId": "import_algorithm_mappings",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "x-body-name": "algorithm_mappings_import_request",
                "$ref": "#/components/schemas/AlgorithmMappingsImportRequest"
              }
            }
          },
          "description": "The mappings to import for the specified Algorithm.",
          "required": true
        },
        "responses": {
          "201": {
            "description": "Mappings import is initiated.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "AlgorithmMappingsImportResponse",
                  "properties": {
                    "job": {
                      "$ref": "#/components/schemas/Job",
                      "description": "The initiated job."
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "A mapping sync is actively in progress for this algorithm."
          }
        }
      }
    },
    "/algorithms/{algorithmId}/mappings": {
      "parameters": [
        {
          "$ref": "#/components/parameters/algorithmIdParam"
        }
      ],
      "delete": {
        "tags": [
          "Algorithms"
        ],
        "summary": "Delete mappings of a Mapping Algorithm.",
        "operationId": "delete_mappings",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "AlgorithmDeleteMappingsResponse",
                  "properties": {
                    "job": {
                      "$ref": "#/components/schemas/Job",
                      "description": "The completed job."
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "A mapping sync is actively in progress for this algorithm."
          }
        }
      }
    },
    "/algorithms/{algorithmId}/mappings/reset": {
      "parameters": [
        {
          "$ref": "#/components/parameters/algorithmIdParam"
        }
      ],
      "post": {
        "tags": [
          "Algorithms"
        ],
        "summary": "Reset mappings for a Mapping Algorithm.",
        "operationId": "reset_algorithm_mappings",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "AlgorithmMappingsResetResponse",
                  "properties": {
                    "job": {
                      "$ref": "#/components/schemas/Job",
                      "description": "The completed job."
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "A mapping sync is actively in progress for this algorithm."
          }
        }
      }
    },
    "/algorithms/{algorithmId}/mappings/sync": {
      "parameters": [
        {
          "$ref": "#/components/parameters/algorithmIdParam"
        }
      ],
      "post": {
        "tags": [
          "Algorithms"
        ],
        "summary": "Sync mapping data from the source engine into DCT for an imported local mapping algorithm.",
        "description": "Only applicable to local mapping algorithms that were imported from a masking engine. Remote mapping algorithms are not supported here -- complete their credentials via PATCH /algorithms/{algorithmId} instead.",
        "operationId": "sync_algorithm_mappings",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "x-body-name": "algorithm_mappings_sync_request",
                "$ref": "#/components/schemas/AlgorithmMappingsSyncRequest"
              }
            }
          },
          "description": "Optional per-request overrides for the sync job. Omit the body entirely to use system defaults."
        },
        "responses": {
          "201": {
            "description": "Mapping sync job initiated.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "AlgorithmMappingsSyncResponse",
                  "properties": {
                    "job": {
                      "$ref": "#/components/schemas/Job",
                      "description": "The initiated sync job."
                    }
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequestError"
          },
          "404": {
            "$ref": "#/components/responses/NotFoundError"
          }
        }
      }
    },
    "/algorithms/{algorithmId}/mappings/stats": {
      "parameters": [
        {
          "$ref": "#/components/parameters/algorithmIdParam"
        }
      ],
      "get": {
        "tags": [
          "Algorithms"
        ],
        "summary": "Get mappings statistics of a Mapping algorithm.",
        "operationId": "get_mappings_stats",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MappingsStats"
                }
              }
            }
          }
        }
      }
    },
    "/algorithms/search": {
      "post": {
        "tags": [
          "Algorithms"
        ],
        "summary": "Search for algorithms.",
        "operationId": "search_algorithms",
        "x-filterable": {
          "fields": {
            "id": {
              "type": "string"
            },
            "name": {
              "type": "string"
            },
            "description": {
              "type": "string"
            },
            "framework_name": {
              "type": "string"
            },
            "framework_id": {
              "type": "string"
            },
            "plugin_name": {
              "type": "string"
            },
            "plugin_id": {
              "type": "string"
            },
            "engine_name": {
              "type": "string"
            },
            "engine_id": {
              "type": "string"
            },
            "revision_hash": {
              "type": "string"
            },
            "create_date": {
              "type": "string"
            },
            "account_id": {
              "type": "integer"
            },
            "account_name": {
              "type": "string"
            },
            "dct_managed": {
              "type": "boolean"
            },
            "config_invalid": {
              "type": "boolean"
            },
            "is_tokenization_supported": {
              "type": "boolean"
            },
            "tags": {
              "type": "array[object]",
              "fields": {
                "key": {
                  "type": "string"
                },
                "value": {
                  "type": "string"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/limit"
          },
          {
            "$ref": "#/components/parameters/cursor"
          },
          {
            "$ref": "#/components/parameters/algorithmsSortParam"
          }
        ],
        "requestBody": {
          "$ref": "#/components/requestBodies/SearchBody"
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "SearchAlgorithmsResponse",
                  "properties": {
                    "items": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Algorithm"
                      }
                    },
                    "response_metadata": {
                      "$ref": "#/components/schemas/PaginatedResponseMetadata"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/algorithms/{algorithmId}/tags": {
      "parameters": [
        {
          "$ref": "#/components/parameters/algorithmIdParam"
        }
      ],
      "get": {
        "tags": [
          "Algorithms"
        ],
        "summary": "Get tags for an Algorithm.",
        "operationId": "get_algorithm_tags",
        "responses": {
          "200": {
            "description": "Ok",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TagsResponse"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "Algorithms"
        ],
        "summary": "Create tags for an Algorithm.",
        "operationId": "create_algorithm_tags",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "x-body-name": "algorithm_tags",
                "$ref": "#/components/schemas/TagsRequest"
              }
            }
          },
          "description": "Tags information for Algorithm.",
          "required": true
        },
        "responses": {
          "201": {
            "description": "Algorithm tags created",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TagsResponse"
                }
              }
            }
          }
        }
      }
    },
    "/algorithms/{algorithmId}/tags/delete": {
      "parameters": [
        {
          "$ref": "#/components/parameters/algorithmIdParam"
        }
      ],
      "post": {
        "tags": [
          "Algorithms"
        ],
        "summary": "Delete tags for an Algorithm.",
        "operationId": "delete_algorithm_tags",
        "requestBody": {
          "$ref": "#/components/requestBodies/DeleteTags"
        },
        "responses": {
          "204": {
            "description": "No Content"
          }
        }
      }
    },
    "/algorithms/{algorithmId}/dependencies": {
      "parameters": [
        {
          "$ref": "#/components/parameters/algorithmIdParam"
        },
        {
          "$ref": "#/components/parameters/limit"
        },
        {
          "$ref": "#/components/parameters/cursor"
        },
        {
          "$ref": "#/components/parameters/dependenciesSortParam"
        }
      ],
      "get": {
        "summary": "Get dependencies of an algorithm by ID.",
        "operationId": "get_algorithm_dependencies_by_id",
        "tags": [
          "Algorithms"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "ListAlgorithmDependenciesResponse",
                  "properties": {
                    "items": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Dependency"
                      }
                    },
                    "response_metadata": {
                      "$ref": "#/components/schemas/PaginatedResponseMetadata"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/algorithms/{algorithmId}/dependencies/search": {
      "post": {
        "tags": [
          "Algorithms"
        ],
        "summary": "Search for algorithm dependencies.",
        "operationId": "search_algorithm_dependencies",
        "x-filterable": {
          "fields": {
            "child_id": {
              "type": "string"
            },
            "child_name": {
              "type": "string"
            },
            "child_type": {
              "type": "string"
            }
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/algorithmIdParam"
          },
          {
            "$ref": "#/components/parameters/limit"
          },
          {
            "$ref": "#/components/parameters/cursor"
          },
          {
            "$ref": "#/components/parameters/dependenciesSortParam"
          }
        ],
        "requestBody": {
          "$ref": "#/components/requestBodies/SearchBody"
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "SearchAlgorithmDependenciesResponse",
                  "properties": {
                    "items": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Dependency"
                      }
                    },
                    "response_metadata": {
                      "$ref": "#/components/schemas/PaginatedResponseMetadata"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/algorithms/validate-config": {
      "post": {
        "tags": [
          "Algorithms"
        ],
        "summary": "Validate the algorithm configuration of a given framework.",
        "operationId": "validate_algorithm_config",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "x-body-name": "algorithm_config_validate_request",
                "$ref": "#/components/schemas/AlgorithmConfigValidateRequest"
              }
            }
          },
          "description": "The algorithm configuration to validate of a given framework.",
          "required": true
        },
        "responses": {
          "201": {
            "description": "Validate result.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "AlgorithmConfigValidateResponse",
                  "properties": {
                    "job": {
                      "$ref": "#/components/schemas/Job",
                      "description": "The validation job."
                    },
                    "is_valid": {
                      "type": "boolean",
                      "description": "Whether the configuration is valid."
                    },
                    "error_message": {
                      "type": "string",
                      "description": "The error message if the configuration is invalid."
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/masking-environments": {
      "get": {
        "tags": [
          "MaskingEnvironments"
        ],
        "summary": "Retrieve the list of masking environments.",
        "operationId": "get_masking_environments",
        "parameters": [
          {
            "$ref": "#/components/parameters/limit"
          },
          {
            "$ref": "#/components/parameters/cursor"
          },
          {
            "$ref": "#/components/parameters/maskingEnvironmentsSortParam"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "ListMaskingEnvironmentsResponse",
                  "properties": {
                    "items": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/MaskingEnvironment"
                      }
                    },
                    "response_metadata": {
                      "$ref": "#/components/schemas/PaginatedResponseMetadata"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/masking-environments/search": {
      "post": {
        "tags": [
          "MaskingEnvironments"
        ],
        "summary": "Search masking environments.",
        "operationId": "search_masking_environments",
        "x-filterable": {
          "fields": {
            "id": {
              "type": "string"
            },
            "name": {
              "type": "string"
            },
            "engine_id": {
              "type": "string"
            },
            "engine_name": {
              "type": "string"
            },
            "purpose": {
              "type": "string"
            },
            "is_workflow_enabled": {
              "type": "boolean"
            }
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/limit"
          },
          {
            "$ref": "#/components/parameters/cursor"
          },
          {
            "$ref": "#/components/parameters/maskingEnvironmentsSortParam"
          }
        ],
        "requestBody": {
          "$ref": "#/components/requestBodies/SearchBody"
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "SearchMaskingEnvironmentsResponse",
                  "properties": {
                    "items": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/MaskingEnvironment"
                      }
                    },
                    "response_metadata": {
                      "$ref": "#/components/schemas/PaginatedResponseMetadata"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/masking-environments/{maskingEnvironmentId}": {
      "parameters": [
        {
          "$ref": "#/components/parameters/maskingEnvironmentId"
        }
      ],
      "get": {
        "summary": "Retrieve a MaskingEnvironment by ID.",
        "operationId": "get_masking_environment_by_id",
        "tags": [
          "MaskingEnvironments"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MaskingEnvironment"
                }
              }
            }
          }
        }
      }
    },
    "/masking-plugins": {
      "get": {
        "tags": [
          "MaskingPlugins"
        ],
        "summary": "Retrieve the list of masking plugins.",
        "operationId": "get_masking_plugins",
        "parameters": [
          {
            "$ref": "#/components/parameters/limit"
          },
          {
            "$ref": "#/components/parameters/cursor"
          },
          {
            "$ref": "#/components/parameters/maskingPluginsSortParam"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "ListMaskingPluginsResponse",
                  "properties": {
                    "items": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/MaskingPlugin"
                      }
                    },
                    "response_metadata": {
                      "$ref": "#/components/schemas/PaginatedResponseMetadata"
                    }
                  }
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "MaskingPlugins"
        ],
        "summary": "Install a masking plugin.",
        "operationId": "create_masking_plugin",
        "requestBody": {
          "description": "The parameters to create a masking plugin.",
          "content": {
            "application/json": {
              "schema": {
                "x-body-name": "masking_plugin_create_request",
                "$ref": "#/components/schemas/MaskingPluginCreateRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "Masking plugin installation initiated.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "MaskingPluginCreateResponse",
                  "properties": {
                    "id": {
                      "type": "string",
                      "description": "The ID of the created masking plugin."
                    },
                    "job": {
                      "$ref": "#/components/schemas/Job",
                      "description": "The initiated job."
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/masking-plugins/{maskingPluginId}": {
      "parameters": [
        {
          "$ref": "#/components/parameters/maskingPluginIdParam"
        }
      ],
      "get": {
        "summary": "Get a masking plugin by ID or name.",
        "operationId": "get_masking_plugin_by_id",
        "tags": [
          "MaskingPlugins"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MaskingPlugin"
                }
              }
            }
          }
        }
      },
      "patch": {
        "tags": [
          "MaskingPlugins"
        ],
        "summary": "Update a Masking Plugin.",
        "operationId": "update_masking_plugin",
        "requestBody": {
          "description": "The parameters to update a masking plugin.",
          "content": {
            "application/json": {
              "schema": {
                "x-body-name": "masking_plugin_update_request",
                "$ref": "#/components/schemas/MaskingPluginUpdateRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Masking plugin update initiated.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "MaskingPluginUpdateResponse",
                  "properties": {
                    "job": {
                      "$ref": "#/components/schemas/Job",
                      "description": "The initiated job."
                    }
                  }
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "MaskingPlugins"
        ],
        "summary": "Delete a masking plugin.",
        "operationId": "delete_masking_plugin",
        "parameters": [
          {
            "$ref": "#/components/parameters/maskingPluginDeleteForceParam"
          }
        ],
        "responses": {
          "200": {
            "description": "Masking plugin delete initiated.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "DeleteMaskingPluginResponse",
                  "properties": {
                    "job": {
                      "$ref": "#/components/schemas/Job",
                      "description": "The initiated job."
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/masking-plugins/{maskingPluginId}/tags": {
      "parameters": [
        {
          "$ref": "#/components/parameters/maskingPluginIdParam"
        }
      ],
      "get": {
        "tags": [
          "MaskingPlugins"
        ],
        "summary": "Get tags for a masking plugin.",
        "operationId": "get_masking_plugin_tags",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TagsResponse"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "MaskingPlugins"
        ],
        "summary": "Create tags for a masking plugin.",
        "operationId": "create_masking_plugin_tags",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "x-body-name": "masking_plugin_tags",
                "$ref": "#/components/schemas/TagsRequest"
              }
            }
          },
          "description": "Tags information for masking plugin.",
          "required": true
        },
        "responses": {
          "201": {
            "description": "Masking plugin tags created successfully.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TagsResponse"
                }
              }
            }
          }
        }
      }
    },
    "/masking-plugins/{maskingPluginId}/tags/delete": {
      "parameters": [
        {
          "$ref": "#/components/parameters/maskingPluginIdParam"
        }
      ],
      "post": {
        "tags": [
          "MaskingPlugins"
        ],
        "summary": "Delete tags for a masking plugin.",
        "operationId": "delete_masking_plugin_tags",
        "requestBody": {
          "$ref": "#/components/requestBodies/DeleteTags"
        },
        "responses": {
          "204": {
            "description": "No Content"
          }
        }
      }
    },
    "/masking-plugins/search": {
      "post": {
        "tags": [
          "MaskingPlugins"
        ],
        "summary": "Search for masking plugins.",
        "operationId": "search_masking_plugins",
        "x-filterable": {
          "fields": {
            "id": {
              "type": "string"
            },
            "name": {
              "type": "string"
            },
            "plugin_type": {
              "type": "string"
            },
            "description": {
              "type": "string"
            },
            "install_date": {
              "type": "string"
            },
            "built_in": {
              "type": "boolean"
            },
            "sdk_version": {
              "type": "string"
            },
            "version": {
              "type": "string"
            },
            "author": {
              "type": "string"
            },
            "account_id": {
              "type": "integer"
            },
            "account_name": {
              "type": "string"
            },
            "dct_managed": {
              "type": "boolean"
            },
            "frameworks": {
              "type": "array[object]",
              "fields": {
                "id": {
                  "type": "string"
                },
                "name": {
                  "type": "string"
                },
                "description": {
                  "type": "string"
                },
                "masking_type": {
                  "$ref": "#/components/schemas/MaskingTypeEnum"
                }
              }
            },
            "tags": {
              "type": "array[object]",
              "fields": {
                "key": {
                  "type": "string"
                },
                "value": {
                  "type": "string"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/limit"
          },
          {
            "$ref": "#/components/parameters/cursor"
          },
          {
            "$ref": "#/components/parameters/maskingPluginsSortParam"
          }
        ],
        "requestBody": {
          "$ref": "#/components/requestBodies/SearchBody"
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "SearchMaskingPluginsResponse",
                  "properties": {
                    "items": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/MaskingPlugin"
                      }
                    },
                    "response_metadata": {
                      "$ref": "#/components/schemas/PaginatedResponseMetadata"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/algorithm-frameworks/{algorithmFrameworkId}": {
      "parameters": [
        {
          "$ref": "#/components/parameters/algorithmFrameworkIdParam"
        }
      ],
      "get": {
        "summary": "Get an algorithm framework by ID or name.",
        "operationId": "get_algorithm_framework_by_id",
        "tags": [
          "MaskingPlugins"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Framework"
                }
              }
            }
          }
        }
      }
    },
    "/rule-sets": {
      "post": {
        "tags": [
          "RuleSets"
        ],
        "summary": "Create a Rule Set.",
        "operationId": "create_rule_set",
        "requestBody": {
          "description": "The parameters to create a rule set.",
          "content": {
            "application/json": {
              "schema": {
                "x-body-name": "rule_set_create_request",
                "$ref": "#/components/schemas/RuleSetCreateRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "Rule Set creation initiated.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "RuleSetCreateResponse",
                  "properties": {
                    "id": {
                      "type": "string",
                      "description": "The ID of the created rule set."
                    },
                    "job": {
                      "$ref": "#/components/schemas/Job",
                      "description": "The initiated job."
                    }
                  }
                }
              }
            }
          }
        }
      },
      "get": {
        "tags": [
          "RuleSets"
        ],
        "summary": "Retrieve the list of Rule Sets.",
        "operationId": "get_rule_sets",
        "parameters": [
          {
            "$ref": "#/components/parameters/limit"
          },
          {
            "$ref": "#/components/parameters/cursor"
          },
          {
            "$ref": "#/components/parameters/ruleSetsSortParam"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "RuleSetsListResponse",
                  "properties": {
                    "items": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/RuleSet"
                      }
                    },
                    "response_metadata": {
                      "$ref": "#/components/schemas/PaginatedResponseMetadata"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/rule-sets/search": {
      "post": {
        "tags": [
          "RuleSets"
        ],
        "summary": "Search for Rule Sets.",
        "operationId": "search_rule_sets",
        "x-filterable": {
          "fields": {
            "id": {
              "type": "string"
            },
            "name": {
              "type": "string"
            },
            "type": {
              "type": "string"
            },
            "platform": {
              "type": "string"
            },
            "connector_id": {
              "type": "string"
            },
            "connector_name": {
              "type": "string"
            },
            "engine_id": {
              "type": "string"
            },
            "engine_name": {
              "type": "string"
            },
            "data_elements_total": {
              "type": "integer"
            },
            "data_elements_sensitive": {
              "type": "integer"
            },
            "records_total": {
              "type": "integer"
            },
            "records_sensitive": {
              "type": "integer"
            },
            "creation_date": {
              "type": "string"
            },
            "account_id": {
              "type": "integer"
            },
            "account_name": {
              "type": "string"
            },
            "dct_managed": {
              "type": "boolean"
            },
            "job_orchestrator_id": {
              "type": "string"
            },
            "job_orchestrator_name": {
              "type": "string"
            },
            "last_attempted_refresh_status": {
              "type": "string"
            },
            "last_attempted_refresh_time": {
              "type": "string"
            },
            "last_refresh_time": {
              "type": "string"
            },
            "purpose": {
              "type": "string"
            },
            "tags": {
              "type": "array[object]",
              "fields": {
                "key": {
                  "type": "string"
                },
                "value": {
                  "type": "string"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/limit"
          },
          {
            "$ref": "#/components/parameters/cursor"
          },
          {
            "$ref": "#/components/parameters/ruleSetsSortParam"
          }
        ],
        "requestBody": {
          "$ref": "#/components/requestBodies/SearchBody"
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "RuleSetsSearchResponse",
                  "properties": {
                    "items": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/RuleSet"
                      }
                    },
                    "response_metadata": {
                      "$ref": "#/components/schemas/PaginatedResponseMetadata"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/rule-sets/{ruleSetId}": {
      "parameters": [
        {
          "$ref": "#/components/parameters/ruleSetIdParam"
        }
      ],
      "get": {
        "tags": [
          "RuleSets"
        ],
        "summary": "Get a Rule Set by ID.",
        "operationId": "get_rule_set_by_id",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RuleSet"
                }
              }
            }
          }
        }
      },
      "patch": {
        "tags": [
          "RuleSets"
        ],
        "summary": "Update a Rule Set.",
        "operationId": "update_rule_set",
        "requestBody": {
          "description": "The parameters to update a rule set.",
          "content": {
            "application/json": {
              "schema": {
                "x-body-name": "rule_set_update_request",
                "$ref": "#/components/schemas/RuleSetUpdateRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Rule Set update initiated.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "RuleSetUpdateResponse",
                  "properties": {
                    "job": {
                      "$ref": "#/components/schemas/Job",
                      "description": "The initiated job."
                    }
                  }
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "RuleSets"
        ],
        "summary": "Delete a Rule Set.",
        "operationId": "delete_rule_set",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "RuleSetDeleteResponse",
                  "properties": {
                    "job": {
                      "$ref": "#/components/schemas/Job",
                      "description": "The completed job."
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/rule-sets/{ruleSetId}/refresh": {
      "parameters": [
        {
          "$ref": "#/components/parameters/ruleSetIdParam"
        }
      ],
      "post": {
        "tags": [
          "RuleSets"
        ],
        "summary": "Refresh a Rule Set.",
        "operationId": "refresh_rule_set",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "RefreshRuleSetResponse",
                  "properties": {
                    "job": {
                      "$ref": "#/components/schemas/Job",
                      "description": "The completed job."
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/rule-sets/import": {
      "post": {
        "tags": [
          "RuleSets"
        ],
        "summary": "Create a new masking rule set from an uploaded CSV.",
        "description": "Starts an asynchronous import that creates a new masking Rule Set from an uploaded CSV. The CSV is uploaded as multipart/form-data; a request with any other content type yields 415. Returns 202 Accepted with a RULE_SET_IMPORT job. A missing or non-DATABASE `connector_id` or an invalid `purpose` yields a client error (404/400). Any supplied `tags` are applied to the created rule set.\n",
        "operationId": "create_rule_set_via_import",
        "parameters": [
          {
            "name": "connector_id",
            "in": "query",
            "required": true,
            "description": "The ID of the DATABASE connector the imported Rule Set belongs to.",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "purpose",
            "in": "query",
            "required": false,
            "description": "The masking purpose for the imported Rule Set.",
            "schema": {
              "type": "string",
              "enum": [
                "MASK",
                "TOKENIZE"
              ],
              "default": "MASK"
            }
          },
          {
            "name": "refresh_drops_tables",
            "in": "query",
            "required": false,
            "description": "Whether a subsequent refresh is allowed to drop tables from the Rule Set.",
            "schema": {
              "type": "boolean",
              "default": false
            }
          }
        ],
        "requestBody": {
          "description": "The rule set file as per defined template. Currently only csv format is supported.",
          "required": true,
          "content": {
            "multipart/form-data": {
              "schema": {
                "type": "object",
                "required": [
                  "file"
                ],
                "properties": {
                  "file": {
                    "description": "The rule set file to create the masking inventory from. Only csv is supported.",
                    "type": "string",
                    "format": "binary"
                  },
                  "tags": {
                    "description": "The tags to apply to the created rule set.",
                    "type": "array",
                    "items": {
                      "$ref": "#/components/schemas/Tag"
                    }
                  }
                }
              }
            }
          }
        },
        "responses": {
          "202": {
            "description": "Rule Set import initiated.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "ImportRuleSetResponse",
                  "properties": {
                    "job": {
                      "$ref": "#/components/schemas/Job",
                      "description": "The initiated import job."
                    }
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequestError"
          },
          "404": {
            "$ref": "#/components/responses/NotFoundError"
          },
          "415": {
            "$ref": "#/components/responses/UnsupportedMediaTypeError"
          }
        }
      }
    },
    "/rule-sets/{ruleSetId}/export": {
      "parameters": [
        {
          "$ref": "#/components/parameters/ruleSetIdParam"
        }
      ],
      "post": {
        "tags": [
          "RuleSets"
        ],
        "summary": "Export a Rule Set to a CSV file.",
        "description": "Starts an asynchronous export of the Rule Set (and its table/column inventory) to a CSV file. Returns 202 Accepted with a RULE_SET_EXPORT job; the generated file is retrieved via GET on this same path once the job completes. The export format is selected via the `format` query parameter (only `csv` is currently supported); a missing or unsupported `format` value yields 406.\n",
        "operationId": "export_rule_set",
        "parameters": [
          {
            "name": "format",
            "in": "query",
            "required": false,
            "description": "The export format. Only `csv` is supported.",
            "schema": {
              "type": "string",
              "enum": [
                "csv"
              ]
            }
          }
        ],
        "responses": {
          "202": {
            "description": "Rule Set export initiated.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "ExportRuleSetResponse",
                  "properties": {
                    "job": {
                      "$ref": "#/components/schemas/Job",
                      "description": "The initiated export job."
                    }
                  }
                }
              }
            }
          },
          "404": {
            "$ref": "#/components/responses/NotFoundError"
          },
          "406": {
            "$ref": "#/components/responses/NotAcceptableError"
          },
          "409": {
            "$ref": "#/components/responses/ConflictError"
          }
        }
      },
      "get": {
        "tags": [
          "RuleSets"
        ],
        "summary": "Download the exported Rule Set CSV file.",
        "description": "Streams the CSV file produced by a completed Rule Set export as an attachment. The export format is selected via the `format` query parameter (only `csv` is supported); a missing or unsupported `format` value yields 406. Returns 404 when no completed export file exists for the Rule Set.\n",
        "operationId": "download_rule_set_export",
        "parameters": [
          {
            "name": "format",
            "in": "query",
            "required": false,
            "description": "The export format. Only `csv` is supported.",
            "schema": {
              "type": "string",
              "enum": [
                "csv"
              ]
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/csv": {
                "schema": {
                  "type": "string",
                  "format": "binary"
                }
              }
            }
          },
          "404": {
            "$ref": "#/components/responses/NotFoundError"
          },
          "406": {
            "$ref": "#/components/responses/NotAcceptableError"
          }
        }
      }
    },
    "/rule-sets/{ruleSetId}/mapping-sync-status": {
      "parameters": [
        {
          "$ref": "#/components/parameters/ruleSetIdParam"
        }
      ],
      "get": {
        "tags": [
          "RuleSets"
        ],
        "summary": "Get the mapping-sync status of every mapping algorithm assigned to a rule set.",
        "description": "Returns every migrated mapping algorithm assigned to a masking rule in this rule set (any\nmappings_status), plus a count of local mapping algorithms in NOT_SYNCED or FAILED state --\nthe set a bulk sync (POST .../mappings/sync) would target. Only algorithms sourced from a\nmigrated legacy engine are returned; native DCT algorithms and non-mapping algorithms are\nexcluded. Supported for DATABASE, FILE, and MAINFRAME_DATASET rule sets.\n",
        "operationId": "get_rule_set_mapping_sync_status",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RuleSetMappingSyncStatus"
                }
              }
            }
          }
        }
      }
    },
    "/rule-sets/{ruleSetId}/mappings/sync": {
      "parameters": [
        {
          "$ref": "#/components/parameters/ruleSetIdParam"
        }
      ],
      "post": {
        "tags": [
          "RuleSets"
        ],
        "summary": "Bulk-trigger mapping sync for every NOT_SYNCED/FAILED local mapping algorithm assigned to a rule set.",
        "description": "Starts a per-algorithm mapping-sync job (see POST /algorithms/{algorithmId}/mappings/sync)\nfor every local mapping algorithm assigned to a masking rule in this rule set that is\ncurrently NOT_SYNCED or FAILED. Remote mapping algorithms are never included -- credential\ncompletion must be done per-algorithm via PATCH /algorithms/{algorithmId}. Each algorithm's\nsync job is isolated; one failing to start does not prevent the others from starting.\n",
        "operationId": "bulk_sync_rule_set_mappings",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "BulkSyncRuleSetMappingsResponse",
                  "properties": {
                    "triggered_jobs": {
                      "description": "The sync jobs successfully started. Algorithms that failed to start are omitted, not errored.",
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Job"
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/rule-sets/{ruleSetId}/bulk-table-delta-update": {
      "parameters": [
        {
          "$ref": "#/components/parameters/ruleSetIdParam"
        }
      ],
      "post": {
        "tags": [
          "RuleSets"
        ],
        "summary": "Update the set of tables and their attributes associated with a database rule set in bulk in a delta fashion.",
        "operationId": "bulk_table_delta_update_rule_set",
        "requestBody": {
          "description": "The parameters to create a bulk table delta update.",
          "content": {
            "application/json": {
              "schema": {
                "x-body-name": "rule_set_bulk_table_delta_update_request",
                "$ref": "#/components/schemas/RuleSetBulkTableDeltaUpdateRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "RuleSetBulkTableDeltaUpdateResponse",
                  "properties": {
                    "job": {
                      "$ref": "#/components/schemas/Job",
                      "description": "The completed job."
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/rule-sets/{ruleSetId}/bulk-file-delta-update": {
      "parameters": [
        {
          "$ref": "#/components/parameters/ruleSetIdParam"
        }
      ],
      "post": {
        "tags": [
          "RuleSets"
        ],
        "summary": "Update the set of files and their attributes associated with a DELIMITED file rule set in bulk in a delta fashion.",
        "operationId": "bulk_file_delta_update_rule_set",
        "requestBody": {
          "description": "The parameters to create a bulk file delta update.",
          "content": {
            "application/json": {
              "schema": {
                "x-body-name": "rule_set_bulk_file_delta_update_request",
                "$ref": "#/components/schemas/RuleSetBulkFileDeltaUpdateRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "RuleSetBulkFileDeltaUpdateResponse",
                  "properties": {
                    "job": {
                      "$ref": "#/components/schemas/Job",
                      "description": "The completed job."
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/rule-sets/{ruleSetId}/bulk-mainframe-dataset-delta-update": {
      "parameters": [
        {
          "$ref": "#/components/parameters/ruleSetIdParam"
        }
      ],
      "post": {
        "tags": [
          "RuleSets"
        ],
        "summary": "Update the set of DATASET file metadata entries associated with a MAINFRAME_DATASET rule set in bulk in a delta fashion.",
        "operationId": "bulk_mainframe_dataset_delta_update_rule_set",
        "requestBody": {
          "description": "The parameters for a bulk mainframe dataset delta update.",
          "content": {
            "application/json": {
              "schema": {
                "x-body-name": "rule_set_bulk_mainframe_dataset_delta_update_request",
                "$ref": "#/components/schemas/RuleSetBulkMainframeDatasetDeltaUpdateRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "RuleSetBulkMainframeDatasetDeltaUpdateResponse",
                  "properties": {
                    "job": {
                      "$ref": "#/components/schemas/Job",
                      "description": "The async job created for this delta update."
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/rule-sets/{ruleSetId}/import": {
      "parameters": [
        {
          "$ref": "#/components/parameters/ruleSetIdParam"
        }
      ],
      "put": {
        "tags": [
          "RuleSets"
        ],
        "summary": "Update the existing ruleset's inventory using the imported ruleset (csv) file.",
        "description": "Merge-updates the inventory of an existing rule set from the uploaded CSV. Only the mappings and settings of tables and columns that already exist in the rule set are updated, matched by table name (and column name for column rows). Rows referring to tables or columns that are not present in the rule set are ignored -- they are not created and are reported as warnings in the job result, without failing the job. For a row that IS present, each writable cell is applied: a cell with a value sets the field, and a blank cell (or the literal \"-\") CLEARS the field. For example, to remove an algorithm mapping from a column, blank its Algorithm cell (this also clears the derived sensitivity and any dependent logical field). The CSV is treated as the complete desired state of the writable fields: any existing table or column that has NO row anywhere in the CSV has all of its writable fields cleared, exactly as if every one of its cells were blank. To keep a table's or column's current settings, include a row for it. The only columns never touched by the merge are the read-only/match-key columns (Rule Set, Type, Data Type, Is Masked, Row Type, Table Name, Column Name), which have no writable mapping. The merge never deletes an inventory row -- it only clears writable field VALUES; the table and column structure is always preserved. The merge runs asynchronously -- a job is returned to poll for completion, warnings, and conflicts.",
        "operationId": "import_rule_set",
        "requestBody": {
          "description": "The ruleset file as per defined template. Currently only csv format is supported.",
          "required": true,
          "content": {
            "multipart/form-data": {
              "schema": {
                "type": "object",
                "required": [
                  "file"
                ],
                "properties": {
                  "file": {
                    "description": "The ruleset file to update masking inventory. Only csv is supported.",
                    "type": "string",
                    "format": "binary"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "RuleSetImportResponse",
                  "properties": {
                    "job": {
                      "$ref": "#/components/schemas/Job",
                      "description": "The async merge-import job to poll."
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/rule-sets/{ruleSetId}/database-table-metadata": {
      "parameters": [
        {
          "$ref": "#/components/parameters/ruleSetIdParam"
        }
      ],
      "patch": {
        "tags": [
          "RuleSets"
        ],
        "summary": "Update multiple database table metadata objects for a rule set.",
        "operationId": "patch_database_table_metadata_for_rule_set",
        "requestBody": {
          "description": "The parameters to update a database table metadata.",
          "content": {
            "application/json": {
              "schema": {
                "x-body-name": "database_table_metadata_patch_request",
                "$ref": "#/components/schemas/DatabaseTableMetadataBulkPatchRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "DatabaseTableMetadataBulkPatchResponse",
                  "properties": {
                    "job": {
                      "$ref": "#/components/schemas/Job"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Invalid request (e.g. duplicate table names or table not found)."
          },
          "404": {
            "description": "Rule set not found."
          }
        }
      }
    },
    "/rule-sets/{ruleSetId}/database-table-metadata/update-where-clause": {
      "parameters": [
        {
          "$ref": "#/components/parameters/ruleSetIdParam"
        }
      ],
      "post": {
        "tags": [
          "RuleSets"
        ],
        "summary": "Set the where clause on all database tables in a rule set.",
        "description": "Applies the where clause to every table in the rule set and clears any custom SQL on those tables.",
        "operationId": "update_where_clause_all_tables",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "x-body-name": "update_where_clause_all_tables_request",
                "$ref": "#/components/schemas/UpdateWhereClauseAllTablesRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "UpdateWhereClauseAllTablesResponse",
                  "properties": {
                    "job": {
                      "$ref": "#/components/schemas/Job"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Invalid request."
          },
          "404": {
            "description": "Rule set not found."
          }
        }
      }
    },
    "/rule-sets/{ruleSetId}/database-table-metadata/update-key-column": {
      "parameters": [
        {
          "$ref": "#/components/parameters/ruleSetIdParam"
        }
      ],
      "post": {
        "tags": [
          "RuleSets"
        ],
        "summary": "Set the logical key column on all database tables that contain it.",
        "description": "Applies the logical key to every table in the rule set that contains the column(s). Tables that do not contain the column(s) are left unchanged (skipped) rather than failing the request; for a composite key (comma-separated), a table must contain all of the listed columns to be updated. A blank key column clears the logical key on every table. The operation always completes successfully; the names of any skipped tables are reported in the returned job's `warning_message`.\n",
        "operationId": "update_key_column_all_tables",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "x-body-name": "update_key_column_all_tables_request",
                "$ref": "#/components/schemas/UpdateKeyColumnAllTablesRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "UpdateKeyColumnAllTablesResponse",
                  "properties": {
                    "job": {
                      "$ref": "#/components/schemas/Job"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Invalid request."
          },
          "404": {
            "description": "Rule set not found."
          }
        }
      }
    },
    "/rule-sets/{ruleSetId}/tags": {
      "parameters": [
        {
          "$ref": "#/components/parameters/ruleSetIdParam"
        }
      ],
      "get": {
        "tags": [
          "RuleSets"
        ],
        "summary": "Get tags for a Rule Set.",
        "operationId": "get_rule_set_tags",
        "responses": {
          "200": {
            "description": "Ok",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TagsResponse"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "RuleSets"
        ],
        "summary": "Create tags for a Rule Set.",
        "operationId": "create_rule_set_tags",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "x-body-name": "rule_set_tags",
                "$ref": "#/components/schemas/TagsRequest"
              }
            }
          },
          "description": "Tags information for Rule Set.",
          "required": true
        },
        "responses": {
          "201": {
            "description": "Rule Set tags created",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TagsResponse"
                }
              }
            }
          }
        }
      }
    },
    "/rule-sets/{ruleSetId}/realign": {
      "parameters": [
        {
          "$ref": "#/components/parameters/ruleSetIdParam"
        }
      ],
      "post": {
        "tags": [
          "RuleSets"
        ],
        "summary": "Re-align a migrated rule set's algorithms and data classes to DCT built-ins.",
        "description": "Replaces the engine-specific algorithm and data class copies created during migration with\ntheir DCT built-in equivalents. Applies transitively through algorithm dependency chains.\nReturns 400 if the rule set was not created via migration or has already been re-aligned.\nReturns 409 if the rule set uses chained algorithms shared with other rule sets and force is\nnot set; retry with force=true to acknowledge the cross-rule-set impact and proceed.\n",
        "operationId": "realign_rule_set",
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RealignRuleSetRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "RealignRuleSetResponse",
                  "properties": {
                    "job": {
                      "$ref": "#/components/schemas/Job",
                      "description": "The completed job."
                    }
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequestError"
          },
          "404": {
            "$ref": "#/components/responses/NotFoundError"
          },
          "409": {
            "description": "The rule set uses chained algorithms shared with other rule sets and force is not set. Returns the standard error response; the shared algorithms and the affected rule sets are listed in the error_description. Retry with force=true to acknowledge the cross-rule-set impact and proceed."
          }
        }
      }
    },
    "/rule-sets/{ruleSetId}/realignable-objects": {
      "parameters": [
        {
          "$ref": "#/components/parameters/ruleSetIdParam"
        }
      ],
      "get": {
        "tags": [
          "RuleSets"
        ],
        "summary": "List realignable objects in a migrated rule set.",
        "description": "Returns the algorithms and data classes in this rule set's inventory (including transitive\nalgorithm dependencies) that would be replaced with DCT built-in equivalents if realignment\nwere triggered. The full set is returned in one response (no pagination). Returns 400 if the\nrule set was not imported via DCT migration. Returns an empty list if the rule set has\nalready been re-aligned.\n",
        "operationId": "get_realignable_objects",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "RealignableObjectsListResponse",
                  "properties": {
                    "items": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/RealignableObject"
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequestError"
          },
          "404": {
            "$ref": "#/components/responses/NotFoundError"
          }
        }
      }
    },
    "/rule-sets/{ruleSetId}/tags/delete": {
      "parameters": [
        {
          "$ref": "#/components/parameters/ruleSetIdParam"
        }
      ],
      "post": {
        "tags": [
          "RuleSets"
        ],
        "summary": "Delete tags for a Rule Set.",
        "operationId": "delete_rule_set_tags",
        "requestBody": {
          "$ref": "#/components/requestBodies/DeleteTags"
        },
        "responses": {
          "204": {
            "description": "No Content"
          }
        }
      }
    },
    "/database-table-metadata": {
      "get": {
        "tags": [
          "RuleSets"
        ],
        "summary": "Retrieve table metadata.",
        "operationId": "get_database_table_metadata",
        "parameters": [
          {
            "$ref": "#/components/parameters/limit"
          },
          {
            "$ref": "#/components/parameters/cursor"
          },
          {
            "$ref": "#/components/parameters/databaseTableMetadataSortParam"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "DatabaseTableMetadataListResponse",
                  "properties": {
                    "items": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/DatabaseTableMetadata"
                      }
                    },
                    "response_metadata": {
                      "$ref": "#/components/schemas/PaginatedResponseMetadata"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/database-table-metadata/search": {
      "post": {
        "tags": [
          "RuleSets"
        ],
        "summary": "Search table metadata.",
        "operationId": "search_database_table_metadata",
        "x-filterable": {
          "fields": {
            "id": {
              "type": "string"
            },
            "table_name": {
              "type": "string"
            },
            "rule_set_id": {
              "type": "string"
            },
            "rule_set_name": {
              "type": "string"
            },
            "custom_sql": {
              "type": "string"
            },
            "where_clause": {
              "type": "string"
            },
            "having_clause": {
              "type": "string"
            },
            "key_column": {
              "type": "string"
            },
            "is_sensitive": {
              "type": "boolean"
            },
            "row_count": {
              "type": "integer"
            },
            "last_refresh_time": {
              "type": "string"
            },
            "last_row_count_time": {
              "type": "string"
            },
            "filter_key": {
              "type": "string"
            },
            "unload_split": {
              "type": "integer"
            },
            "auto_calculate_unload_split": {
              "type": "boolean"
            },
            "max_parallel_connections_per_table": {
              "type": "integer"
            },
            "max_records_per_split": {
              "type": "integer"
            },
            "max_split_per_connection": {
              "type": "integer"
            },
            "stream_size": {
              "type": "integer"
            },
            "column_array_rows": {
              "type": "integer"
            }
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/limit"
          },
          {
            "$ref": "#/components/parameters/cursor"
          },
          {
            "$ref": "#/components/parameters/databaseTableMetadataSortParam"
          }
        ],
        "requestBody": {
          "$ref": "#/components/requestBodies/SearchBody"
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "DatabaseTableMetadataSearchResponse",
                  "properties": {
                    "items": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/DatabaseTableMetadata"
                      }
                    },
                    "response_metadata": {
                      "$ref": "#/components/schemas/PaginatedResponseMetadata"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/database-table-metadata/{databaseTableMetadataId}": {
      "parameters": [
        {
          "$ref": "#/components/parameters/databaseTableMetadataIdParam"
        }
      ],
      "get": {
        "tags": [
          "RuleSets"
        ],
        "summary": "Retrieve a database table metadata by ID.",
        "operationId": "get_database_table_metadata_by_id",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DatabaseTableMetadata"
                }
              }
            }
          }
        }
      },
      "patch": {
        "tags": [
          "RuleSets"
        ],
        "summary": "Update a database table metadata.",
        "operationId": "update_database_table_metadata",
        "requestBody": {
          "description": "The parameters to update a database table metadata.",
          "content": {
            "application/json": {
              "schema": {
                "x-body-name": "database_table_metadata_update_request",
                "$ref": "#/components/schemas/DatabaseTableMetadataUpdateRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Database table metadata update initiated.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "DatabaseTableMetadataUpdateResponse",
                  "properties": {
                    "job": {
                      "$ref": "#/components/schemas/Job",
                      "description": "The initiated job."
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/database-table-metadata/{databaseTableMetadataId}/generate-custom-sql": {
      "parameters": [
        {
          "$ref": "#/components/parameters/databaseTableMetadataIdParam"
        }
      ],
      "get": {
        "tags": [
          "RuleSets"
        ],
        "summary": "Generate a starter Custom SQL template for a database table metadata entry.",
        "description": "Returns a starter SELECT statement assembled from the table's columns, schema, and any existing where/having clauses. The output is a template intended for the user to refine before saving.\n",
        "operationId": "generate_custom_sql_for_database_table_metadata",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GenerateCustomSqlResponse"
                }
              }
            }
          }
        }
      }
    },
    "/database-column-metadata": {
      "get": {
        "tags": [
          "RuleSets"
        ],
        "summary": "Retrieve column metadata.",
        "operationId": "get_database_column_metadata",
        "parameters": [
          {
            "$ref": "#/components/parameters/limit"
          },
          {
            "$ref": "#/components/parameters/cursor"
          },
          {
            "$ref": "#/components/parameters/databaseColumnMetadataSortParam"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "DatabaseColumnMetadataListResponse",
                  "properties": {
                    "items": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/DatabaseColumnMetadata"
                      }
                    },
                    "response_metadata": {
                      "$ref": "#/components/schemas/PaginatedResponseMetadata"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/database-column-metadata/search": {
      "post": {
        "tags": [
          "RuleSets"
        ],
        "summary": "Search column metadata.",
        "operationId": "search_database_column_metadata",
        "x-filterable": {
          "fields": {
            "id": {
              "type": "integer"
            },
            "column_name": {
              "type": "string"
            },
            "database_table_metadata_id": {
              "type": "integer"
            },
            "table_name": {
              "type": "string"
            },
            "engine_id": {
              "type": "string"
            },
            "engine_name": {
              "type": "string"
            },
            "rule_set_id": {
              "type": "string"
            },
            "rule_set_name": {
              "type": "string"
            },
            "algorithm_id": {
              "type": "string"
            },
            "algorithm_name": {
              "type": "string"
            },
            "data_class_id": {
              "type": "string"
            },
            "data_class_name": {
              "type": "string"
            },
            "data_type": {
              "type": "string"
            },
            "date_format": {
              "type": "string"
            },
            "column_length": {
              "type": "integer"
            },
            "is_sensitive": {
              "type": "boolean"
            },
            "is_profiler_writable": {
              "type": "boolean"
            },
            "is_primary_key": {
              "type": "boolean"
            },
            "is_identity": {
              "type": "boolean"
            },
            "is_index": {
              "type": "boolean"
            },
            "is_foreign_key": {
              "type": "boolean"
            },
            "document_store_type": {
              "type": "string"
            }
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/limit"
          },
          {
            "$ref": "#/components/parameters/cursor"
          },
          {
            "$ref": "#/components/parameters/databaseColumnMetadataSortParam"
          }
        ],
        "requestBody": {
          "$ref": "#/components/requestBodies/SearchBody"
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "DatabaseColumnMetadataSearchResponse",
                  "properties": {
                    "items": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/DatabaseColumnMetadata"
                      }
                    },
                    "response_metadata": {
                      "$ref": "#/components/schemas/PaginatedResponseMetadata"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/database-column-metadata/{databaseColumnMetadataId}": {
      "parameters": [
        {
          "$ref": "#/components/parameters/databaseColumnMetadataIdParam"
        }
      ],
      "get": {
        "tags": [
          "RuleSets"
        ],
        "summary": "Retrieve a database column metadata by ID.",
        "operationId": "get_database_column_metadata_by_id",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DatabaseColumnMetadata"
                }
              }
            }
          }
        }
      },
      "patch": {
        "tags": [
          "RuleSets"
        ],
        "summary": "Update a database column metadata",
        "operationId": "update_database_column_metadata",
        "requestBody": {
          "description": "The parameters to update a database column metadata.",
          "content": {
            "application/json": {
              "schema": {
                "x-body-name": "database_column_metadata_update_request",
                "$ref": "#/components/schemas/DatabaseColumnMetadataUpdateRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Database column metadata update initiated.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "DatabaseColumnMetadataUpdateResponse",
                  "properties": {
                    "job": {
                      "$ref": "#/components/schemas/Job",
                      "description": "The initiated job."
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/file-formats": {
      "post": {
        "tags": [
          "FileFormats"
        ],
        "summary": "Create a data format.",
        "description": "Create a data format. Optionally upload a column-definition file to auto-populate record types and fields. Without a file, an empty data format is created.\n",
        "operationId": "create_file_format",
        "requestBody": {
          "description": "The parameters to create a file format.",
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/FileFormatCreateRequest"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Data format created.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "FileFormatCreateResponse",
                  "properties": {
                    "id": {
                      "type": "string",
                      "description": "The ID of the created data format."
                    },
                    "job": {
                      "$ref": "#/components/schemas/Job",
                      "description": "The initiated job."
                    }
                  }
                }
              }
            }
          }
        }
      },
      "get": {
        "tags": [
          "FileFormats"
        ],
        "summary": "List data formats.",
        "operationId": "get_file_formats",
        "parameters": [
          {
            "$ref": "#/components/parameters/limit"
          },
          {
            "$ref": "#/components/parameters/cursor"
          },
          {
            "$ref": "#/components/parameters/fileFormatsSortParam"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "FileFormatsListResponse",
                  "properties": {
                    "items": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/FileFormat"
                      }
                    },
                    "response_metadata": {
                      "$ref": "#/components/schemas/PaginatedResponseMetadata"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/data-formats/search": {
      "post": {
        "tags": [
          "DataFormats"
        ],
        "summary": "Search for data formats (unified file-format + mainframe-dataset-format).",
        "description": "Returns the paginated, filterable, sortable union of file-format and\nmainframe-dataset-format rows from the file_formats table.\nThe type field on each item allows the UI to dispatch detail navigation.\n",
        "operationId": "search_data_formats",
        "x-filterable": {
          "fields": {
            "id": {
              "type": "string"
            },
            "name": {
              "type": "string"
            },
            "type": {
              "type": "string"
            },
            "description": {
              "type": "string"
            },
            "tags": {
              "type": "array[object]",
              "fields": {
                "key": {
                  "type": "string"
                },
                "value": {
                  "type": "string"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/limit"
          },
          {
            "$ref": "#/components/parameters/cursor"
          },
          {
            "$ref": "#/components/parameters/dataFormatsSortParam"
          }
        ],
        "requestBody": {
          "$ref": "#/components/requestBodies/SearchBody"
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "DataFormatsSearchResponse",
                  "required": [
                    "items",
                    "response_metadata"
                  ],
                  "properties": {
                    "items": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/DataFormat"
                      }
                    },
                    "response_metadata": {
                      "$ref": "#/components/schemas/PaginatedResponseMetadata"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/data-formats/{fileFormatId}/tags": {
      "parameters": [
        {
          "$ref": "#/components/parameters/fileFormatIdParam"
        }
      ],
      "post": {
        "tags": [
          "DataFormats"
        ],
        "summary": "Create tags for a Data Format.",
        "operationId": "create_data_format_tags",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "x-body-name": "data_format_tags",
                "$ref": "#/components/schemas/TagsRequest"
              }
            }
          },
          "description": "Tags information for Data Format.",
          "required": true
        },
        "responses": {
          "201": {
            "description": "Data Format tags created",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TagsResponse"
                }
              }
            }
          },
          "404": {
            "$ref": "#/components/responses/NotFoundError"
          }
        }
      }
    },
    "/data-formats/{fileFormatId}/tags/delete": {
      "parameters": [
        {
          "$ref": "#/components/parameters/fileFormatIdParam"
        }
      ],
      "post": {
        "tags": [
          "DataFormats"
        ],
        "summary": "Delete tags for a Data Format.",
        "operationId": "delete_data_format_tags",
        "requestBody": {
          "$ref": "#/components/requestBodies/DeleteTags"
        },
        "responses": {
          "204": {
            "description": "No Content"
          },
          "404": {
            "$ref": "#/components/responses/NotFoundError"
          }
        }
      }
    },
    "/file-formats/search": {
      "post": {
        "tags": [
          "FileFormats"
        ],
        "summary": "Search for data formats.",
        "operationId": "search_file_formats",
        "x-filterable": {
          "fields": {
            "id": {
              "type": "string"
            },
            "name": {
              "type": "string"
            },
            "file_type": {
              "type": "string"
            },
            "account_id": {
              "type": "integer"
            },
            "account_name": {
              "type": "string"
            },
            "dct_managed": {
              "type": "boolean"
            },
            "description": {
              "type": "string"
            },
            "tags": {
              "type": "array[object]",
              "fields": {
                "key": {
                  "type": "string"
                },
                "value": {
                  "type": "string"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/limit"
          },
          {
            "$ref": "#/components/parameters/cursor"
          },
          {
            "$ref": "#/components/parameters/fileFormatsSortParam"
          }
        ],
        "requestBody": {
          "$ref": "#/components/requestBodies/SearchBody"
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "FileFormatsSearchResponse",
                  "properties": {
                    "items": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/FileFormat"
                      }
                    },
                    "response_metadata": {
                      "$ref": "#/components/schemas/PaginatedResponseMetadata"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/file-formats/{fileFormatId}": {
      "parameters": [
        {
          "$ref": "#/components/parameters/fileFormatIdParam"
        }
      ],
      "get": {
        "tags": [
          "FileFormats"
        ],
        "summary": "Get a data format by ID.",
        "operationId": "get_file_format_by_id",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FileFormat"
                }
              }
            }
          }
        }
      },
      "patch": {
        "tags": [
          "FileFormats"
        ],
        "summary": "Update a data format.",
        "operationId": "update_file_format",
        "requestBody": {
          "description": "The parameters to update a file format.",
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "x-body-name": "file_format_update_request",
                "$ref": "#/components/schemas/FileFormatUpdateRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Data format updated.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "FileFormatUpdateResponse",
                  "properties": {
                    "id": {
                      "type": "string"
                    },
                    "job": {
                      "$ref": "#/components/schemas/Job",
                      "description": "The initiated job."
                    }
                  }
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "FileFormats"
        ],
        "summary": "Delete a data format.",
        "operationId": "delete_file_format",
        "responses": {
          "200": {
            "description": "Data format deleted.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "FileFormatDeleteResponse",
                  "properties": {
                    "job": {
                      "$ref": "#/components/schemas/Job",
                      "description": "The completed job."
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/file-formats/{fileFormatId}/copy": {
      "parameters": [
        {
          "$ref": "#/components/parameters/fileFormatIdParam"
        }
      ],
      "post": {
        "tags": [
          "FileFormats"
        ],
        "summary": "Copy a data format.",
        "operationId": "copy_file_format",
        "requestBody": {
          "description": "The parameters to copy a file format.",
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "title": "FileFormatCopyRequest",
                "required": [
                  "name"
                ],
                "properties": {
                  "name": {
                    "type": "string",
                    "description": "The name of the new data format."
                  },
                  "ignore_masking_assignments": {
                    "type": "boolean",
                    "default": false,
                    "description": "If true, masking algorithm assignments are not copied."
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Data format copied.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "FileFormatCopyResponse",
                  "properties": {
                    "id": {
                      "type": "string",
                      "description": "The ID of the new data format."
                    },
                    "job": {
                      "$ref": "#/components/schemas/Job",
                      "description": "The initiated job."
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/file-formats/{fileFormatId}/tags": {
      "parameters": [
        {
          "$ref": "#/components/parameters/fileFormatIdParam"
        }
      ],
      "get": {
        "tags": [
          "FileFormats"
        ],
        "summary": "Get tags for a File Format.",
        "operationId": "get_file_format_tags",
        "responses": {
          "200": {
            "description": "Ok",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TagsResponse"
                }
              }
            }
          },
          "404": {
            "$ref": "#/components/responses/NotFoundError"
          }
        }
      },
      "post": {
        "tags": [
          "FileFormats"
        ],
        "summary": "Create tags for a File Format.",
        "operationId": "create_file_format_tags",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "x-body-name": "file_format_tags",
                "$ref": "#/components/schemas/TagsRequest"
              }
            }
          },
          "description": "Tags information for File Format.",
          "required": true
        },
        "responses": {
          "201": {
            "description": "File Format tags created",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TagsResponse"
                }
              }
            }
          },
          "404": {
            "$ref": "#/components/responses/NotFoundError"
          }
        }
      }
    },
    "/file-formats/{fileFormatId}/tags/delete": {
      "parameters": [
        {
          "$ref": "#/components/parameters/fileFormatIdParam"
        }
      ],
      "post": {
        "tags": [
          "FileFormats"
        ],
        "summary": "Delete tags for a File Format.",
        "operationId": "delete_file_format_tags",
        "requestBody": {
          "$ref": "#/components/requestBodies/DeleteTags"
        },
        "responses": {
          "204": {
            "description": "No Content"
          },
          "404": {
            "$ref": "#/components/responses/NotFoundError"
          }
        }
      }
    },
    "/mainframe-dataset-formats/{mainframeDatasetFormatId}": {
      "parameters": [
        {
          "$ref": "#/components/parameters/mainframeDatasetFormatIdParam"
        }
      ]
    },
    "/mainframe-dataset-formats/{mainframeDatasetFormatId}/copy": {
      "parameters": [
        {
          "$ref": "#/components/parameters/mainframeDatasetFormatIdParam"
        }
      ]
    },
    "/mainframe-dataset-formats/{mainframeDatasetFormatId}/tags": {
      "parameters": [
        {
          "$ref": "#/components/parameters/mainframeDatasetFormatIdParam"
        }
      ]
    },
    "/mainframe-dataset-formats/{mainframeDatasetFormatId}/tags/delete": {
      "parameters": [
        {
          "$ref": "#/components/parameters/mainframeDatasetFormatIdParam"
        }
      ]
    },
    "/discovery-expressions": {
      "get": {
        "tags": [
          "DiscoveryExpressions"
        ],
        "summary": "Retrieve discovery expressions.",
        "operationId": "get_discovery_expressions",
        "parameters": [
          {
            "$ref": "#/components/parameters/limit"
          },
          {
            "$ref": "#/components/parameters/cursor"
          },
          {
            "$ref": "#/components/parameters/discoveryExpressionsSortParam"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "DiscoveryExpressionsListResponse",
                  "properties": {
                    "items": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/DiscoveryExpression"
                      }
                    },
                    "response_metadata": {
                      "$ref": "#/components/schemas/PaginatedResponseMetadata"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/discovery-expressions/search": {
      "post": {
        "tags": [
          "DiscoveryExpressions"
        ],
        "summary": "Search discovery expressions.",
        "operationId": "search_discovery_expressions",
        "x-filterable": {
          "fields": {
            "id": {
              "type": "string"
            },
            "name": {
              "type": "string"
            },
            "regular_expression": {
              "type": "string"
            },
            "data_level_profiling": {
              "type": "boolean"
            },
            "min_data_length": {
              "type": "integer"
            },
            "engine_id": {
              "type": "string"
            },
            "engine_name": {
              "type": "string"
            },
            "data_class_id": {
              "type": "string"
            },
            "data_class_name": {
              "type": "string"
            },
            "data_type": {
              "type": "string",
              "enum": [
                "String",
                "Number",
                "Date",
                "Binary"
              ]
            },
            "expression_type": {
              "type": "string",
              "enum": [
                "SEARCH",
                "TYPE"
              ]
            },
            "level": {
              "type": "string",
              "enum": [
                "DATA",
                "COLUMN",
                "TYPE"
              ]
            },
            "tags": {
              "type": "array[object]",
              "fields": {
                "key": {
                  "type": "string"
                },
                "value": {
                  "type": "string"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/limit"
          },
          {
            "$ref": "#/components/parameters/cursor"
          },
          {
            "$ref": "#/components/parameters/discoveryExpressionsSortParam"
          }
        ],
        "requestBody": {
          "$ref": "#/components/requestBodies/SearchBody"
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "DiscoveryExpressionsSearchResponse",
                  "properties": {
                    "items": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/DiscoveryExpression"
                      }
                    },
                    "response_metadata": {
                      "$ref": "#/components/schemas/PaginatedResponseMetadata"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/discovery-expressions/{expressionId}": {
      "parameters": [
        {
          "$ref": "#/components/parameters/discoveryExpressionIdParam"
        }
      ],
      "get": {
        "tags": [
          "DiscoveryExpressions"
        ],
        "summary": "Get a discovery expression by ID.",
        "operationId": "get_discovery_expression_by_id",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DiscoveryExpression"
                }
              }
            }
          }
        }
      }
    },
    "/discovery-expressions/{expressionId}/tags": {
      "parameters": [
        {
          "$ref": "#/components/parameters/discoveryExpressionIdParam"
        }
      ],
      "get": {
        "tags": [
          "DiscoveryExpressions"
        ],
        "summary": "Get tags for a discovery expression.",
        "operationId": "get_discovery_expression_tags",
        "responses": {
          "200": {
            "description": "Ok",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TagsResponse"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "DiscoveryExpressions"
        ],
        "summary": "Create tags for a discovery expression.",
        "operationId": "create_discovery_expression_tags",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "x-body-name": "discovery_expression_tags",
                "$ref": "#/components/schemas/TagsRequest"
              }
            }
          },
          "description": "Tags information for discovery expression.",
          "required": true
        },
        "responses": {
          "201": {
            "description": "Discovery expression tags created",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TagsResponse"
                }
              }
            }
          }
        }
      }
    },
    "/discovery-expressions/{expressionId}/tags/delete": {
      "parameters": [
        {
          "$ref": "#/components/parameters/discoveryExpressionIdParam"
        }
      ],
      "post": {
        "tags": [
          "DiscoveryExpressions"
        ],
        "summary": "Delete tags for a discovery expression.",
        "operationId": "delete_discovery_expression_tags",
        "requestBody": {
          "$ref": "#/components/requestBodies/DeleteTags"
        },
        "responses": {
          "204": {
            "description": "No Content"
          }
        }
      }
    },
    "/compliance-jdbc-drivers": {
      "get": {
        "tags": [
          "ComplianceJdbcDrivers"
        ],
        "summary": "Retrieve the list of compliance JDBC drivers.",
        "operationId": "get_compliance_jdbc_drivers",
        "parameters": [
          {
            "$ref": "#/components/parameters/limit"
          },
          {
            "$ref": "#/components/parameters/cursor"
          },
          {
            "$ref": "#/components/parameters/complianceJdbcDriversSortParam"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "ListComplianceJdbcDriversResponse",
                  "properties": {
                    "items": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/ComplianceJdbcDriver"
                      }
                    },
                    "response_metadata": {
                      "$ref": "#/components/schemas/PaginatedResponseMetadata"
                    }
                  }
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "ComplianceJdbcDrivers"
        ],
        "summary": "Create a Compliance JDBC driver.",
        "operationId": "create_compliance_jdbc_driver",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "x-body-name": "jdbc_driver_create_request",
                "$ref": "#/components/schemas/ComplianceJdbcDriverCreateRequest"
              }
            }
          },
          "description": "The new Compliance JDBC driver to create.",
          "required": true
        },
        "responses": {
          "201": {
            "description": "Created",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "ComplianceJdbcDriverCreateResponse",
                  "properties": {
                    "id": {
                      "type": "string",
                      "description": "The ID of the created Compliance JDBC driver."
                    },
                    "job": {
                      "$ref": "#/components/schemas/Job",
                      "description": "The created Compliance JDBC driver job."
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/compliance-jdbc-drivers/search": {
      "post": {
        "summary": "Search for Compliance JDBC drivers.",
        "operationId": "search_compliance_jdbc_drivers",
        "tags": [
          "ComplianceJdbcDrivers"
        ],
        "x-filterable": {
          "fields": {
            "id": {
              "type": "string"
            },
            "name": {
              "type": "string"
            },
            "description": {
              "type": "string"
            },
            "class_name": {
              "type": "string"
            },
            "driver_support_id": {
              "type": "string"
            },
            "license_file_id": {
              "type": "string"
            },
            "version": {
              "type": "string"
            },
            "install_date": {
              "type": "string"
            },
            "account_id": {
              "type": "integer"
            },
            "account_name": {
              "type": "string"
            },
            "built_in": {
              "type": "boolean"
            },
            "tags": {
              "type": "array[object]",
              "fields": {
                "key": {
                  "type": "string"
                },
                "value": {
                  "type": "string"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/limit"
          },
          {
            "$ref": "#/components/parameters/cursor"
          },
          {
            "$ref": "#/components/parameters/complianceJdbcDriversSortParam"
          }
        ],
        "requestBody": {
          "$ref": "#/components/requestBodies/SearchBody"
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "SearchComplianceJdbcDriversResponse",
                  "properties": {
                    "items": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/ComplianceJdbcDriver"
                      }
                    },
                    "response_metadata": {
                      "$ref": "#/components/schemas/PaginatedResponseMetadata"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/compliance-jdbc-drivers/{driverId}": {
      "parameters": [
        {
          "$ref": "#/components/parameters/driverIdParam"
        }
      ],
      "get": {
        "summary": "Retrieve a Compliance JDBC driver by ID or name.",
        "operationId": "get_compliance_jdbc_driver_by_id",
        "tags": [
          "ComplianceJdbcDrivers"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ComplianceJdbcDriver"
                }
              }
            }
          }
        }
      },
      "patch": {
        "summary": "Update a Compliance JDBC driver by ID or name.",
        "operationId": "update_compliance_jdbc_driver",
        "tags": [
          "ComplianceJdbcDrivers"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "x-body-name": "jdbc_driver_update_request",
                "$ref": "#/components/schemas/ComplianceJdbcDriverUpdateRequest"
              }
            }
          },
          "description": "The new data to update a Compliance JDBC driver."
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "ComplianceJdbcDriverUpdateResponse",
                  "properties": {
                    "job": {
                      "$ref": "#/components/schemas/Job"
                    }
                  }
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "ComplianceJdbcDrivers"
        ],
        "summary": "Delete a Compliance JDBC driver.",
        "operationId": "delete_compliance_jdbc_driver",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "ComplianceJdbcDriverDeleteResponse",
                  "properties": {
                    "job": {
                      "$ref": "#/components/schemas/Job",
                      "description": "The completed job."
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/compliance-jdbc-drivers/{driverId}/tags": {
      "parameters": [
        {
          "$ref": "#/components/parameters/driverIdParam"
        }
      ],
      "post": {
        "tags": [
          "ComplianceJdbcDrivers"
        ],
        "summary": "Create tags for a Compliance JDBC driver.",
        "operationId": "create_compliance_jdbc_driver_tags",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "x-body-name": "jdbc_driver_tags",
                "$ref": "#/components/schemas/TagsRequest"
              }
            }
          },
          "description": "Tags information for Compliance JDBC driver.",
          "required": true
        },
        "responses": {
          "201": {
            "description": "Created",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TagsResponse"
                }
              }
            }
          }
        }
      },
      "get": {
        "tags": [
          "ComplianceJdbcDrivers"
        ],
        "summary": "Get tags for a Compliance JDBC driver.",
        "operationId": "get_compliance_jdbc_driver_tags",
        "responses": {
          "200": {
            "description": "Ok",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TagsResponse"
                }
              }
            }
          }
        }
      }
    },
    "/compliance-jdbc-drivers/{driverId}/tags/delete": {
      "parameters": [
        {
          "$ref": "#/components/parameters/driverIdParam"
        }
      ],
      "post": {
        "tags": [
          "ComplianceJdbcDrivers"
        ],
        "summary": "Delete tags for a Compliance JDBC driver.",
        "operationId": "delete_compliance_jdbc_driver_tags",
        "requestBody": {
          "$ref": "#/components/requestBodies/DeleteTags",
          "required": false
        },
        "responses": {
          "204": {
            "description": "No Content"
          }
        }
      }
    },
    "/compliance-jobs": {
      "get": {
        "tags": [
          "ComplianceJobs"
        ],
        "summary": "Retrieve the list of compliance jobs.",
        "operationId": "get_compliance_jobs",
        "parameters": [
          {
            "$ref": "#/components/parameters/limit"
          },
          {
            "$ref": "#/components/parameters/cursor"
          },
          {
            "$ref": "#/components/parameters/complianceJobsSortParam"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "ListComplianceJobsResponse",
                  "properties": {
                    "items": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/ComplianceJob"
                      }
                    },
                    "response_metadata": {
                      "$ref": "#/components/schemas/PaginatedResponseMetadata"
                    }
                  }
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "ComplianceJobs"
        ],
        "summary": "Create a Compliance Job.",
        "operationId": "create_compliance_job",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "x-body-name": "create_compliance_job_request",
                "$ref": "#/components/schemas/CreateComplianceJobRequest"
              }
            }
          },
          "description": "Input params to create a compliance job.",
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "CreateComplianceJobResponse",
                  "properties": {
                    "id": {
                      "type": "string",
                      "description": "The ID of the created compliance job."
                    },
                    "job": {
                      "$ref": "#/components/schemas/Job",
                      "description": "The initiated DCT job."
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/compliance-jobs/search": {
      "post": {
        "tags": [
          "ComplianceJobs"
        ],
        "summary": "Search compliance jobs.",
        "operationId": "search_compliance_jobs",
        "x-filterable": {
          "fields": {
            "id": {
              "type": "string"
            },
            "name": {
              "type": "string"
            },
            "engine_id": {
              "type": "string"
            },
            "engine_name": {
              "type": "string"
            },
            "engine_job_id": {
              "type": "integer"
            },
            "job_orchestrator_id": {
              "type": "string"
            },
            "job_orchestrator_name": {
              "type": "string"
            },
            "type": {
              "type": "string"
            },
            "execution_type": {
              "type": "string"
            },
            "hyperscale_state": {
              "type": "string"
            },
            "is_on_the_fly_masking": {
              "type": "boolean"
            },
            "is_multi_tenant": {
              "type": "boolean"
            },
            "creation_date": {
              "type": "string"
            },
            "last_completed_execution_date": {
              "type": "string"
            },
            "last_execution_status": {
              "type": "string"
            },
            "last_execution_id": {
              "type": "string"
            },
            "last_execution_start_time": {
              "type": "string"
            },
            "last_execution_run_time": {
              "type": "integer"
            },
            "rule_set_id": {
              "type": "string"
            },
            "rule_set_name": {
              "type": "string"
            },
            "hyperscale_instance_id": {
              "type": "string"
            },
            "description": {
              "type": "string"
            },
            "dataset_id": {
              "type": "string"
            },
            "retain_execution_data": {
              "type": "string"
            },
            "max_memory": {
              "type": "integer"
            },
            "min_memory": {
              "type": "integer"
            },
            "feedback_size": {
              "type": "integer"
            },
            "stream_row_limit": {
              "type": "integer"
            },
            "num_input_streams": {
              "type": "integer"
            },
            "max_concurrent_source_connections": {
              "type": "integer"
            },
            "max_concurrent_target_connections": {
              "type": "integer"
            },
            "hyperscale_enabled": {
              "type": "boolean"
            },
            "auto_calculate_unload_split": {
              "type": "boolean"
            },
            "consider_continuous_compliance_warning_event_as": {
              "type": "string"
            },
            "create_all_indexes_with_nologging": {
              "type": "boolean"
            },
            "disable_parallel_index_creation": {
              "type": "boolean"
            },
            "enable_all_constraints_with_novalidate": {
              "type": "boolean"
            },
            "max_parallel_connections_per_table": {
              "type": "integer"
            },
            "max_records_per_split": {
              "type": "integer"
            },
            "max_split_per_connection": {
              "type": "integer"
            },
            "parallelism_degree": {
              "type": "integer"
            },
            "discovery_policy_id": {
              "type": "string"
            },
            "discovery_policy_name": {
              "type": "string"
            },
            "account_id": {
              "type": "integer"
            },
            "account_name": {
              "type": "string"
            },
            "dct_managed": {
              "type": "boolean"
            },
            "fail_immediately": {
              "type": "boolean"
            },
            "batch_update": {
              "type": "boolean"
            },
            "commit_size": {
              "type": "integer"
            },
            "num_output_threads_per_stream": {
              "type": "integer"
            },
            "pre_script.name": {
              "type": "string"
            },
            "pre_script.contents": {
              "type": "string"
            },
            "post_script.name": {
              "type": "string"
            },
            "post_script.contents": {
              "type": "string"
            },
            "on_the_fly_source_connector_id": {
              "type": "string"
            },
            "truncate_tables": {
              "type": "boolean"
            },
            "drop_indexes": {
              "type": "boolean"
            },
            "enabled_tasks": {
              "type": "array[string]"
            },
            "tags": {
              "type": "array[object]",
              "fields": {
                "key": {
                  "type": "string"
                },
                "value": {
                  "type": "string"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/limit"
          },
          {
            "$ref": "#/components/parameters/cursor"
          },
          {
            "$ref": "#/components/parameters/complianceJobsSortParam"
          }
        ],
        "requestBody": {
          "$ref": "#/components/requestBodies/SearchBody"
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "SearchComplianceJobsResponse",
                  "properties": {
                    "items": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/ComplianceJob"
                      }
                    },
                    "response_metadata": {
                      "$ref": "#/components/schemas/PaginatedResponseMetadata"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/compliance-jobs/{complianceJobId}": {
      "parameters": [
        {
          "$ref": "#/components/parameters/complianceJobIdParam"
        }
      ],
      "get": {
        "summary": "Retrieve a compliance job by ID.",
        "operationId": "get_compliance_job_by_id",
        "tags": [
          "ComplianceJobs"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ComplianceJob"
                }
              }
            }
          }
        }
      },
      "patch": {
        "summary": "Update values of a compliance job.",
        "operationId": "update_compliance_job",
        "tags": [
          "ComplianceJobs"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "x-body-name": "update_compliance_job_request",
                "$ref": "#/components/schemas/UpdateComplianceJobRequest"
              }
            }
          },
          "description": "Input params to update a compliance job.",
          "required": true
        },
        "responses": {
          "200": {
            "description": "Compliance job update initiated.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "UpdateComplianceJobResponse",
                  "properties": {
                    "job": {
                      "$ref": "#/components/schemas/Job",
                      "description": "The initiated job."
                    },
                    "compliance_job": {
                      "$ref": "#/components/schemas/ComplianceJob",
                      "description": "The updated compliance job."
                    }
                  }
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "ComplianceJobs"
        ],
        "summary": "Delete a compliance job.",
        "operationId": "delete_compliance_job",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "DeleteComplianceJobResponse",
                  "properties": {
                    "job": {
                      "$ref": "#/components/schemas/Job",
                      "description": "The initiated job."
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/compliance-jobs/{complianceJobId}/connectors": {
      "parameters": [
        {
          "$ref": "#/components/parameters/complianceJobIdParam"
        }
      ],
      "get": {
        "tags": [
          "ComplianceJobs"
        ],
        "summary": "Get connectors for a Masking Job by ID.",
        "operationId": "get_compliance_job_connectors",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ComplianceJobConnectorsResponse"
                }
              }
            }
          }
        }
      }
    },
    "/compliance-jobs/{complianceJobId}/tags": {
      "parameters": [
        {
          "$ref": "#/components/parameters/complianceJobIdParam"
        }
      ],
      "post": {
        "tags": [
          "ComplianceJobs"
        ],
        "summary": "Create tags for a compliance job.",
        "operationId": "create_compliance_job_tag",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "x-body-name": "compliance_job_tags",
                "$ref": "#/components/schemas/TagsRequest"
              }
            }
          },
          "description": "Tags information for Masking Job.",
          "required": true
        },
        "responses": {
          "201": {
            "description": "Created",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TagsResponse"
                }
              }
            }
          }
        }
      },
      "get": {
        "tags": [
          "ComplianceJobs"
        ],
        "summary": "Get tags for a compliance job.",
        "operationId": "get_compliance_job_tag",
        "responses": {
          "200": {
            "description": "Ok",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TagsResponse"
                }
              }
            }
          }
        }
      }
    },
    "/compliance-jobs/{complianceJobId}/tags/delete": {
      "parameters": [
        {
          "$ref": "#/components/parameters/complianceJobIdParam"
        }
      ],
      "post": {
        "tags": [
          "ComplianceJobs"
        ],
        "summary": "Delete tags for a compliance job.",
        "operationId": "delete_compliance_job_tag",
        "requestBody": {
          "$ref": "#/components/requestBodies/DeleteTags",
          "required": false
        },
        "responses": {
          "204": {
            "description": "No Content"
          }
        }
      }
    },
    "/compliance-jobs/{complianceJobId}/execute": {
      "parameters": [
        {
          "$ref": "#/components/parameters/complianceJobIdParam"
        },
        {
          "name": "executionType",
          "in": "query",
          "description": "The type of execution for the compliance job, default value is STANDARD",
          "required": false,
          "schema": {
            "type": "string",
            "enum": [
              "STANDARD",
              "HYPERSCALE"
            ],
            "default": "STANDARD"
          }
        }
      ],
      "post": {
        "summary": "Execute a compliance job.",
        "operationId": "execute_compliance_job",
        "tags": [
          "ComplianceJobs"
        ],
        "requestBody": {
          "description": "The parameters to execute a compliance job.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ExecuteComplianceJobRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Compliance job execute initiated.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "ExecuteComplianceJobResponse",
                  "properties": {
                    "job": {
                      "$ref": "#/components/schemas/Job",
                      "description": "The initiated job."
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/compliance-job-collections": {
      "post": {
        "tags": [
          "ComplianceJobCollections"
        ],
        "summary": "Create a compliance job collection.",
        "operationId": "create_compliance_job_collection",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "x-body-name": "compliance-job-collections",
                "$ref": "#/components/schemas/CreateComplianceJobCollectionRequest"
              }
            }
          },
          "description": "The parameters to create a compliance job collection",
          "required": true
        },
        "responses": {
          "201": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "CreateComplianceJobCollectionResponse",
                  "properties": {
                    "job": {
                      "$ref": "#/components/schemas/Job",
                      "description": "The completed job."
                    },
                    "id": {
                      "type": "string",
                      "description": "The ID of the created job collection."
                    }
                  }
                }
              }
            }
          }
        }
      },
      "get": {
        "tags": [
          "ComplianceJobCollections"
        ],
        "summary": "Retrieve the list of compliance job collections.",
        "operationId": "get_compliance_job_collections",
        "parameters": [
          {
            "$ref": "#/components/parameters/limit"
          },
          {
            "$ref": "#/components/parameters/cursor"
          },
          {
            "$ref": "#/components/parameters/complianceJobCollectionsSortParam"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "ListComplianceJobCollectionsResponse",
                  "properties": {
                    "items": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/ComplianceJobCollection"
                      }
                    },
                    "response_metadata": {
                      "$ref": "#/components/schemas/PaginatedResponseMetadata"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/compliance-job-collections/search": {
      "post": {
        "tags": [
          "ComplianceJobCollections"
        ],
        "summary": "Search compliance job collections.",
        "operationId": "search_compliance_job_collections",
        "x-filterable": {
          "fields": {
            "id": {
              "type": "string"
            },
            "name": {
              "type": "string"
            },
            "description": {
              "type": "string"
            },
            "creation_date": {
              "type": "string"
            },
            "job_count": {
              "type": "integer"
            },
            "last_execution_id": {
              "type": "string"
            },
            "failure_handling": {
              "type": "string"
            },
            "members": {
              "type": "array[object]",
              "fields": {
                "compliance_job_id": {
                  "type": "string"
                },
                "sequence": {
                  "type": "integer"
                }
              }
            },
            "tags": {
              "type": "array[object]",
              "fields": {
                "key": {
                  "type": "string"
                },
                "value": {
                  "type": "string"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/limit"
          },
          {
            "$ref": "#/components/parameters/cursor"
          },
          {
            "$ref": "#/components/parameters/complianceJobCollectionsSortParam"
          }
        ],
        "requestBody": {
          "$ref": "#/components/requestBodies/SearchBody"
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "SearchComplianceJobCollectionsResponse",
                  "properties": {
                    "items": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/ComplianceJobCollection"
                      }
                    },
                    "response_metadata": {
                      "$ref": "#/components/schemas/PaginatedResponseMetadata"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/compliance-job-collections/{complianceJobCollectionId}": {
      "parameters": [
        {
          "$ref": "#/components/parameters/complianceJobCollectionIdParam"
        }
      ],
      "get": {
        "tags": [
          "ComplianceJobCollections"
        ],
        "summary": "Retrieve a compliance job collection by ID.",
        "operationId": "get_compliance_job_collection_by_id",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ComplianceJobCollection"
                }
              }
            }
          }
        }
      },
      "patch": {
        "tags": [
          "ComplianceJobCollections"
        ],
        "summary": "Update a compliance job collection.",
        "operationId": "update_compliance_job_collection",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "x-body-name": "compliance-job-collections",
                "$ref": "#/components/schemas/UpdateComplianceJobCollectionRequest"
              }
            }
          },
          "description": "The parameters to update a compliance job collection",
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "UpdateComplianceJobCollectionResponse",
                  "properties": {
                    "job": {
                      "$ref": "#/components/schemas/Job",
                      "description": "The completed job."
                    }
                  }
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "ComplianceJobCollections"
        ],
        "summary": "Delete a compliance job collection.",
        "operationId": "delete_compliance_job_collection",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "DeleteComplianceJobCollectionResponse",
                  "properties": {
                    "job": {
                      "$ref": "#/components/schemas/Job",
                      "description": "The completed job."
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/compliance-job-collections/{complianceJobCollectionId}/execute": {
      "parameters": [
        {
          "$ref": "#/components/parameters/complianceJobCollectionIdParam"
        }
      ],
      "post": {
        "tags": [
          "ComplianceJobCollections"
        ],
        "summary": "Execute a compliance job collection.",
        "operationId": "execute_compliance_job_collection",
        "requestBody": {
          "description": "The parameters to execute a compliance job collection.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ExecuteComplianceJobCollectionRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Compliance job collection execute initiated.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "ExecuteComplianceJobCollectionResponse",
                  "properties": {
                    "job": {
                      "$ref": "#/components/schemas/Job",
                      "description": "The initiated job."
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/compliance-job-collections/{complianceJobCollectionId}/jobs": {
      "parameters": [
        {
          "$ref": "#/components/parameters/complianceJobCollectionIdParam"
        }
      ],
      "get": {
        "tags": [
          "ComplianceJobCollections"
        ],
        "summary": "Get compliance jobs for a compliance job collection.",
        "operationId": "get_compliance_job_collection_jobs",
        "parameters": [
          {
            "$ref": "#/components/parameters/limit"
          },
          {
            "$ref": "#/components/parameters/cursor"
          },
          {
            "$ref": "#/components/parameters/complianceJobsSortParam"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "ListComplianceJobsResponse",
                  "properties": {
                    "items": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/ComplianceJob"
                      }
                    },
                    "response_metadata": {
                      "$ref": "#/components/schemas/PaginatedResponseMetadata"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/compliance-job-collections/{complianceJobCollectionId}/jobs/search": {
      "parameters": [
        {
          "$ref": "#/components/parameters/complianceJobCollectionIdParam"
        }
      ],
      "post": {
        "tags": [
          "ComplianceJobCollections"
        ],
        "summary": "Search compliance jobs for a compliance job collection.",
        "operationId": "search_compliance_job_collection_jobs",
        "x-filterable": {
          "fields": {
            "id": {
              "type": "string"
            },
            "name": {
              "type": "string"
            },
            "engine_id": {
              "type": "string"
            },
            "engine_name": {
              "type": "string"
            },
            "engine_job_id": {
              "type": "integer"
            },
            "type": {
              "type": "string"
            },
            "execution_type": {
              "type": "string"
            },
            "is_on_the_fly_masking": {
              "type": "boolean"
            },
            "creation_date": {
              "type": "string"
            },
            "last_completed_execution_date": {
              "type": "string"
            },
            "last_execution_status": {
              "type": "string"
            },
            "last_execution_id": {
              "type": "string"
            },
            "last_execution_start_time": {
              "type": "string"
            },
            "last_execution_run_time": {
              "type": "integer"
            },
            "rule_set_id": {
              "type": "string"
            },
            "rule_set_name": {
              "type": "string"
            },
            "hyperscale_instance_id": {
              "type": "string"
            },
            "description": {
              "type": "string"
            },
            "dataset_id": {
              "type": "string"
            },
            "retain_execution_data": {
              "type": "string"
            },
            "max_memory": {
              "type": "integer"
            },
            "min_memory": {
              "type": "integer"
            },
            "feedback_size": {
              "type": "integer"
            },
            "stream_row_limit": {
              "type": "integer"
            },
            "num_input_streams": {
              "type": "integer"
            },
            "max_concurrent_source_connections": {
              "type": "integer"
            },
            "max_concurrent_target_connections": {
              "type": "integer"
            },
            "hyperscale_enabled": {
              "type": "boolean"
            },
            "auto_calculate_unload_split": {
              "type": "boolean"
            },
            "consider_continuous_compliance_warning_event_as": {
              "type": "string"
            },
            "create_all_indexes_with_nologging": {
              "type": "boolean"
            },
            "disable_parallel_index_creation": {
              "type": "boolean"
            },
            "enable_all_constraints_with_novalidate": {
              "type": "boolean"
            },
            "max_parallel_connections_per_table": {
              "type": "integer"
            },
            "max_records_per_split": {
              "type": "integer"
            },
            "max_split_per_connection": {
              "type": "integer"
            },
            "parallelism_degree": {
              "type": "integer"
            },
            "discovery_policy_id": {
              "type": "string"
            },
            "discovery_policy_name": {
              "type": "string"
            },
            "tags": {
              "type": "array[object]",
              "fields": {
                "key": {
                  "type": "string"
                },
                "value": {
                  "type": "string"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/limit"
          },
          {
            "$ref": "#/components/parameters/cursor"
          },
          {
            "$ref": "#/components/parameters/complianceJobsSortParam"
          }
        ],
        "requestBody": {
          "$ref": "#/components/requestBodies/SearchBody"
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "SearchComplianceJobsResponse",
                  "properties": {
                    "items": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/ComplianceJob"
                      }
                    },
                    "response_metadata": {
                      "$ref": "#/components/schemas/PaginatedResponseMetadata"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/compliance-job-collections/{complianceJobCollectionId}/tags": {
      "parameters": [
        {
          "$ref": "#/components/parameters/complianceJobCollectionIdParam"
        }
      ],
      "get": {
        "tags": [
          "ComplianceJobCollections"
        ],
        "summary": "Get tags for a compliance job collection.",
        "operationId": "get_compliance_job_collection_tags",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TagsResponse"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "ComplianceJobCollections"
        ],
        "summary": "Create tags for a compliance job collection.",
        "operationId": "create_compliance_job_collection_tags",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "x-body-name": "compliance_job_collection_tags",
                "$ref": "#/components/schemas/TagsRequest"
              }
            }
          },
          "description": "Tags information for a compliance job collection.",
          "required": true
        },
        "responses": {
          "201": {
            "description": "Compliance job collection tags created",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TagsResponse"
                }
              }
            }
          }
        }
      }
    },
    "/compliance-job-collections/{complianceJobCollectionId}/tags/delete": {
      "parameters": [
        {
          "$ref": "#/components/parameters/complianceJobCollectionIdParam"
        }
      ],
      "post": {
        "tags": [
          "ComplianceJobCollections"
        ],
        "summary": "Delete tags for a compliance job collection.",
        "operationId": "delete_compliance_job_collection_tags",
        "requestBody": {
          "$ref": "#/components/requestBodies/DeleteTags"
        },
        "responses": {
          "204": {
            "description": "No Content"
          }
        }
      }
    },
    "/job-collection-executions": {
      "get": {
        "tags": [
          "JobCollectionExecutions"
        ],
        "summary": "Retrieve the list of compliance job collection executions.",
        "operationId": "get_job_collection_executions",
        "parameters": [
          {
            "$ref": "#/components/parameters/limit"
          },
          {
            "$ref": "#/components/parameters/cursor"
          },
          {
            "$ref": "#/components/parameters/jobCollectionExecutionsSortParam"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "ListJobCollectionExecutionsResponse",
                  "properties": {
                    "items": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/JobCollectionExecution"
                      }
                    },
                    "response_metadata": {
                      "$ref": "#/components/schemas/PaginatedResponseMetadata"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/job-collection-executions/search": {
      "post": {
        "tags": [
          "JobCollectionExecutions"
        ],
        "summary": "Search compliance job collection executions.",
        "operationId": "search_job_collection_executions",
        "x-filterable": {
          "fields": {
            "id": {
              "type": "string"
            },
            "compliance_job_collection_id": {
              "type": "string"
            },
            "compliance_job_collection_name": {
              "type": "string"
            },
            "status": {
              "type": "string"
            },
            "status_reason": {
              "type": "string"
            },
            "start_time": {
              "type": "string"
            },
            "end_time": {
              "type": "string"
            },
            "run_duration": {
              "type": "integer"
            },
            "actual_execution_count": {
              "type": "integer"
            },
            "planned_execution_count": {
              "type": "integer"
            },
            "rows_processed": {
              "type": "integer"
            },
            "rows_total": {
              "type": "integer"
            },
            "bytes_processed": {
              "type": "integer"
            },
            "bytes_total": {
              "type": "integer"
            },
            "processed_tables_files_count": {
              "type": "integer"
            },
            "tables_files_count": {
              "type": "integer"
            },
            "processed_columns_fields_count": {
              "type": "integer"
            },
            "columns_fields_count": {
              "type": "integer"
            },
            "execute_account_id": {
              "type": "integer"
            },
            "execute_account_name": {
              "type": "string"
            },
            "cancel_account_id": {
              "type": "integer"
            },
            "cancel_account_name": {
              "type": "string"
            }
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/limit"
          },
          {
            "$ref": "#/components/parameters/cursor"
          },
          {
            "$ref": "#/components/parameters/jobCollectionExecutionsSortParam"
          }
        ],
        "requestBody": {
          "$ref": "#/components/requestBodies/SearchBody"
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "SearchJobCollectionExecutionsResponse",
                  "properties": {
                    "items": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/JobCollectionExecution"
                      }
                    },
                    "response_metadata": {
                      "$ref": "#/components/schemas/PaginatedResponseMetadata"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/job-collection-executions/{jobCollectionExecutionId}": {
      "parameters": [
        {
          "$ref": "#/components/parameters/jobCollectionExecutionIdParam"
        }
      ],
      "get": {
        "tags": [
          "JobCollectionExecutions"
        ],
        "summary": "Retrieve a compliance job collection execution by ID.",
        "operationId": "get_job_collection_execution_by_id",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JobCollectionExecution"
                }
              }
            }
          }
        }
      }
    },
    "/job-collection-executions/{jobCollectionExecutionId}/cancel": {
      "parameters": [
        {
          "$ref": "#/components/parameters/jobCollectionExecutionIdParam"
        }
      ],
      "post": {
        "tags": [
          "JobCollectionExecutions"
        ],
        "summary": "Cancel a compliance job collection execution. This operation is asynchronous is not complete until the collection execution is marked cancelled.",
        "operationId": "cancel_job_collection_execution",
        "requestBody": {
          "description": "The parameters to cancel a job collection execution.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CancelJobCollectionExecutionRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Job collection execution cancel initiated.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "CancelJobCollectionExecutionResponse",
                  "properties": {
                    "job": {
                      "$ref": "#/components/schemas/Job",
                      "description": "The finished cancel job."
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/job-orchestrators": {
      "post": {
        "tags": [
          "JobOrchestrators"
        ],
        "summary": "Create a job orchestrator.",
        "operationId": "create_job_orchestrator",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "x-body-name": "job-orchestrators",
                "$ref": "#/components/schemas/CreateJobOrchestratorRequest"
              }
            }
          },
          "description": "The parameters to create a job orchestrator",
          "required": true
        },
        "responses": {
          "201": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "CreateJobOrchestratorResponse",
                  "properties": {
                    "id": {
                      "type": "string",
                      "description": "The ID of the created job orchestrator."
                    },
                    "job": {
                      "$ref": "#/components/schemas/Job",
                      "description": "The completed job."
                    }
                  }
                }
              }
            }
          }
        }
      },
      "get": {
        "tags": [
          "JobOrchestrators"
        ],
        "summary": "Retrieve the list of job orchestrators.",
        "operationId": "get_job_orchestrators",
        "parameters": [
          {
            "$ref": "#/components/parameters/limit"
          },
          {
            "$ref": "#/components/parameters/cursor"
          },
          {
            "$ref": "#/components/parameters/jobOrchestratorsSortParam"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "ListJobOrchestratorsResponse",
                  "properties": {
                    "items": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/JobOrchestrator"
                      }
                    },
                    "response_metadata": {
                      "$ref": "#/components/schemas/PaginatedResponseMetadata"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/job-orchestrators/search": {
      "post": {
        "tags": [
          "JobOrchestrators"
        ],
        "summary": "Search job orchestrators.",
        "operationId": "search_job_orchestrators",
        "x-filterable": {
          "fields": {
            "id": {
              "type": "string"
            },
            "name": {
              "type": "string"
            },
            "description": {
              "type": "string"
            },
            "creation_date": {
              "type": "string"
            },
            "account_id": {
              "type": "integer"
            },
            "account_name": {
              "type": "string"
            },
            "node_count": {
              "type": "integer"
            },
            "total_core_count": {
              "type": "integer"
            },
            "queued_operation_count": {
              "type": "integer"
            },
            "running_job_count": {
              "type": "integer"
            },
            "tags": {
              "type": "array[object]",
              "fields": {
                "key": {
                  "type": "string"
                },
                "value": {
                  "type": "string"
                }
              }
            },
            "hyperscale_instance_id": {
              "type": "string"
            }
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/limit"
          },
          {
            "$ref": "#/components/parameters/cursor"
          },
          {
            "$ref": "#/components/parameters/jobOrchestratorsSortParam"
          }
        ],
        "requestBody": {
          "$ref": "#/components/requestBodies/SearchBody"
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "SearchJobOrchestratorsResponse",
                  "properties": {
                    "items": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/JobOrchestrator"
                      }
                    },
                    "response_metadata": {
                      "$ref": "#/components/schemas/PaginatedResponseMetadata"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/job-orchestrators/{jobOrchestratorId}": {
      "parameters": [
        {
          "$ref": "#/components/parameters/jobOrchestratorIdParam"
        }
      ],
      "get": {
        "tags": [
          "JobOrchestrators"
        ],
        "summary": "Retrieve a job orchestrator by ID.",
        "operationId": "get_job_orchestrator_by_id",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JobOrchestrator"
                }
              }
            }
          }
        }
      },
      "patch": {
        "tags": [
          "JobOrchestrators"
        ],
        "summary": "Update a job orchestrator.",
        "operationId": "update_job_orchestrator",
        "requestBody": {
          "description": "The parameters to update a job orchestrator.",
          "content": {
            "application/json": {
              "schema": {
                "x-body-name": "job-orchestrators",
                "$ref": "#/components/schemas/UpdateJobOrchestratorRequest",
                "description": "The parameters to update a job orchestrator"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "UpdateJobOrchestratorResponse",
                  "properties": {
                    "job": {
                      "$ref": "#/components/schemas/Job",
                      "description": "The completed job."
                    }
                  }
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "JobOrchestrators"
        ],
        "summary": "Delete a job orchestrator.",
        "operationId": "delete_job_orchestrator",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "DeleteJobOrchestratorResponse",
                  "properties": {
                    "job": {
                      "$ref": "#/components/schemas/Job",
                      "description": "The completed job."
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/job-orchestrators/{jobOrchestratorId}/tags": {
      "parameters": [
        {
          "$ref": "#/components/parameters/jobOrchestratorIdParam"
        }
      ],
      "get": {
        "tags": [
          "JobOrchestrators"
        ],
        "summary": "Get tags for a job orchestrator.",
        "operationId": "get_job_orchestrator_tags",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TagsResponse"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "JobOrchestrators"
        ],
        "summary": "Create tags for a job orchestrator.",
        "operationId": "create_job_orchestrator_tags",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "x-body-name": "job_orchestrator_tags",
                "$ref": "#/components/schemas/TagsRequest"
              }
            }
          },
          "description": "Tags information for a job orchestrator.",
          "required": true
        },
        "responses": {
          "201": {
            "description": "Job orchestrator tags created",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TagsResponse"
                }
              }
            }
          }
        }
      }
    },
    "/job-orchestrators/{jobOrchestratorId}/tags/delete": {
      "parameters": [
        {
          "$ref": "#/components/parameters/jobOrchestratorIdParam"
        }
      ],
      "post": {
        "tags": [
          "JobOrchestrators"
        ],
        "summary": "Delete tags for a job orchestrator.",
        "operationId": "delete_job_orchestrator_tags",
        "requestBody": {
          "$ref": "#/components/requestBodies/DeleteTags"
        },
        "responses": {
          "204": {
            "description": "No Content"
          }
        }
      }
    },
    "/job-orchestrators/{jobOrchestratorId}/application-settings": {
      "parameters": [
        {
          "$ref": "#/components/parameters/jobOrchestratorIdParam"
        }
      ],
      "get": {
        "tags": [
          "JobOrchestrators"
        ],
        "summary": "Returns a job orchestrator's application settings.",
        "operationId": "get_job_orchestrator_application_settings",
        "parameters": [
          {
            "$ref": "#/components/parameters/limit"
          },
          {
            "$ref": "#/components/parameters/cursor"
          },
          {
            "$ref": "#/components/parameters/complianceApplicationSettingsSortParam"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "ComplianceApplicationSettingsListResponse",
                  "properties": {
                    "items": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/ComplianceApplicationSetting"
                      }
                    },
                    "response_metadata": {
                      "$ref": "#/components/schemas/PaginatedResponseMetadata"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/job-orchestrators/{jobOrchestratorId}/application-settings/search": {
      "parameters": [
        {
          "$ref": "#/components/parameters/jobOrchestratorIdParam"
        }
      ],
      "post": {
        "tags": [
          "JobOrchestrators"
        ],
        "summary": "Search a job orchestrator's application settings.",
        "operationId": "search_job_orchestrator_application_settings",
        "x-filterable": {
          "fields": {
            "id": {
              "type": "string"
            },
            "group": {
              "type": "string"
            },
            "name": {
              "type": "string"
            },
            "value": {
              "type": "string"
            },
            "value_type": {
              "type": "string"
            }
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/limit"
          },
          {
            "$ref": "#/components/parameters/cursor"
          },
          {
            "$ref": "#/components/parameters/complianceApplicationSettingsSortParam"
          }
        ],
        "requestBody": {
          "$ref": "#/components/requestBodies/SearchBody"
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "ComplianceApplicationSettingsSearchResponse",
                  "properties": {
                    "items": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/ComplianceApplicationSetting"
                      }
                    },
                    "response_metadata": {
                      "$ref": "#/components/schemas/PaginatedResponseMetadata"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/job-orchestrators/{jobOrchestratorId}/application-settings/{applicationSettingsId}": {
      "parameters": [
        {
          "$ref": "#/components/parameters/jobOrchestratorIdParam"
        },
        {
          "$ref": "#/components/parameters/applicationSettingsIdParam"
        }
      ],
      "put": {
        "tags": [
          "JobOrchestrators"
        ],
        "summary": "Update a job orchestrator's application setting value.",
        "operationId": "update_job_orchestrator_application_setting",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "x-body-name": "application_setting_update_request",
                "$ref": "#/components/schemas/ComplianceApplicationSettingUpdateRequest"
              }
            }
          },
          "description": "The application setting update request.",
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "UpdateComplianceApplicationSettingResponse",
                  "properties": {
                    "job": {
                      "$ref": "#/components/schemas/Job"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/job-orchestrators/{jobOrchestratorId}/queued-operations": {
      "parameters": [
        {
          "$ref": "#/components/parameters/jobOrchestratorIdParam"
        }
      ],
      "get": {
        "tags": [
          "JobOrchestrators"
        ],
        "summary": "Returns a job orchestrator's queued operations.",
        "operationId": "get_job_orchestrator_queued_operations",
        "parameters": [
          {
            "$ref": "#/components/parameters/limit"
          },
          {
            "$ref": "#/components/parameters/cursor"
          },
          {
            "$ref": "#/components/parameters/queuedOperationsSortParam"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "ListJobOrchestratorQueuedOperationsResponse",
                  "properties": {
                    "items": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/QueuedOperation"
                      }
                    },
                    "response_metadata": {
                      "$ref": "#/components/schemas/PaginatedResponseMetadata"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/job-orchestrators/{jobOrchestratorId}/queued-operations/search": {
      "parameters": [
        {
          "$ref": "#/components/parameters/jobOrchestratorIdParam"
        }
      ],
      "post": {
        "tags": [
          "JobOrchestrators"
        ],
        "summary": "Search a job orchestrator's queued operations.",
        "operationId": "search_job_orchestrator_queued_operations",
        "x-filterable": {
          "fields": {
            "id": {
              "type": "string"
            },
            "job_orchestrator_id": {
              "type": "string"
            },
            "enqueued_date": {
              "type": "string"
            },
            "job_type": {
              "type": "string"
            },
            "localized_job_type": {
              "type": "string"
            },
            "job_id": {
              "type": "string"
            },
            "target_id": {
              "type": "string"
            },
            "target_name": {
              "type": "string"
            },
            "target_type": {
              "type": "string"
            },
            "account_id": {
              "type": "integer"
            },
            "account_name": {
              "type": "string"
            }
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/limit"
          },
          {
            "$ref": "#/components/parameters/cursor"
          },
          {
            "$ref": "#/components/parameters/queuedOperationsSortParam"
          }
        ],
        "requestBody": {
          "$ref": "#/components/requestBodies/SearchBody"
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "SearchJobOrchestratorQueuedOperationsResponse",
                  "properties": {
                    "items": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/QueuedOperation"
                      }
                    },
                    "response_metadata": {
                      "$ref": "#/components/schemas/PaginatedResponseMetadata"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/job-orchestrators/{jobOrchestratorId}/support-bundle": {
      "parameters": [
        {
          "$ref": "#/components/parameters/jobOrchestratorIdParam"
        }
      ],
      "post": {
        "tags": [
          "JobOrchestrators"
        ],
        "summary": "Generates a bundle for requested nodes of a job orchestrator.",
        "operationId": "generate_job_orchestrator_support_bundle",
        "requestBody": {
          "description": "The parameters to create a support bundle.",
          "content": {
            "application/json": {
              "schema": {
                "x-body-name": "generate_support_bundle_request",
                "$ref": "#/components/schemas/GenerateJobOrchestratorSupportBundleRequest"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "description": "Registers a job to generate the support bundle.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "JobOrchestratorGenerateSupportBundleResponse",
                  "properties": {
                    "job": {
                      "$ref": "#/components/schemas/Job",
                      "description": "The Job tracking the support bundle generation."
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/job-orchestrators/{jobOrchestratorId}/move-to-hyperscale": {
      "parameters": [
        {
          "$ref": "#/components/parameters/jobOrchestratorIdParam"
        }
      ],
      "put": {
        "tags": [
          "JobOrchestrators"
        ],
        "summary": "Move compliance nodes from a job orchestrator to a hyperscale instance.",
        "operationId": "move_compliance_nodes_to_hyperscale",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "x-body-name": "move_to_hyperscale_request",
                "$ref": "#/components/schemas/MoveComplianceNodesToHyperscaleRequest"
              }
            }
          },
          "description": "The parameters to move compliance nodes to a hyperscale instance.",
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MoveComplianceNodesResponse"
                }
              }
            }
          }
        }
      }
    },
    "/compliance-nodes": {
      "get": {
        "tags": [
          "ComplianceNodes"
        ],
        "operationId": "get_compliance_nodes",
        "parameters": [
          {
            "$ref": "#/components/parameters/limit"
          },
          {
            "$ref": "#/components/parameters/cursor"
          },
          {
            "$ref": "#/components/parameters/complianceNodesSortParam"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ListComplianceNodesResponse"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "ComplianceNodes"
        ],
        "summary": "Register a compliance node",
        "operationId": "register_compliance_node",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "x-body-name": "compliance_node_register_request",
                "$ref": "#/components/schemas/ComplianceNodeRegisterRequest"
              }
            }
          },
          "description": "The Compliance Node being registered",
          "required": true
        },
        "responses": {
          "201": {
            "description": "Created Compliance Node.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "ComplianceNodeRegisterResponse",
                  "properties": {
                    "id": {
                      "type": "string",
                      "description": "The ID of the created compliance node."
                    },
                    "job": {
                      "$ref": "#/components/schemas/Job",
                      "description": "The registering compliance node."
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/compliance-nodes/search": {
      "post": {
        "summary": "Search for compliance nodes",
        "operationId": "search_compliance_nodes",
        "tags": [
          "ComplianceNodes"
        ],
        "x-filterable": {
          "fields": {
            "id": {
              "type": "string"
            },
            "name": {
              "type": "string"
            },
            "hostname": {
              "type": "string"
            },
            "insecure_ssl": {
              "type": "boolean"
            },
            "unsafe_ssl_hostname_check": {
              "type": "boolean"
            },
            "username": {
              "type": "string"
            },
            "creation_date": {
              "type": "string"
            },
            "account_id": {
              "type": "integer"
            },
            "account_name": {
              "type": "string"
            },
            "status": {
              "type": "string"
            },
            "status_details": {
              "type": "string"
            },
            "job_orchestrator_id": {
              "type": "string"
            },
            "job_orchestrator_name": {
              "type": "string"
            },
            "core_count": {
              "type": "integer"
            },
            "memory_for_jobs": {
              "type": "number"
            },
            "version": {
              "type": "string"
            },
            "is_containerized": {
              "type": "boolean"
            },
            "hyperscale_instance_id": {
              "type": "string"
            },
            "hyperscale_instance_name": {
              "type": "string"
            }
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/limit"
          },
          {
            "$ref": "#/components/parameters/cursor"
          },
          {
            "$ref": "#/components/parameters/complianceNodesSortParam"
          }
        ],
        "requestBody": {
          "$ref": "#/components/requestBodies/SearchBody"
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ListComplianceNodesResponse"
                }
              }
            }
          }
        }
      }
    },
    "/compliance-nodes/{complianceNodeId}": {
      "parameters": [
        {
          "$ref": "#/components/parameters/complianceNodeIdParam"
        }
      ],
      "get": {
        "tags": [
          "ComplianceNodes"
        ],
        "summary": "Retrieve a compliance node by ID.",
        "operationId": "get_compliance_node_by_id",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ComplianceNode"
                }
              }
            }
          }
        }
      },
      "patch": {
        "tags": [
          "ComplianceNodes"
        ],
        "summary": "Update a compliance node.",
        "operationId": "update_compliance_node",
        "requestBody": {
          "description": "The parameters to update a compliance node.",
          "content": {
            "application/json": {
              "schema": {
                "x-body-name": "compliance_node_update_request",
                "$ref": "#/components/schemas/ComplianceNodeUpdateRequest",
                "description": "The parameters to update a compliance node"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "ComplianceNodeUpdateResponse",
                  "properties": {
                    "job": {
                      "$ref": "#/components/schemas/Job",
                      "description": "The completed job."
                    }
                  }
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "ComplianceNodes"
        ],
        "summary": "Delete a compliance node.",
        "operationId": "delete_compliance_node",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "ComplianceNodeDeleteResponse",
                  "properties": {
                    "job": {
                      "$ref": "#/components/schemas/Job",
                      "description": "The completed job."
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/compliance-nodes/{complianceNodeId}/refreshLogs": {
      "parameters": [
        {
          "$ref": "#/components/parameters/complianceNodeIdParam"
        }
      ],
      "get": {
        "tags": [
          "ComplianceNodes"
        ],
        "summary": "Refresh the logs for a compliance node.",
        "operationId": "refresh_logs",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "RefreshLogsResponse",
                  "properties": {
                    "job": {
                      "$ref": "#/components/schemas/Job"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/compliance-nodes/{complianceNodeId}/logs": {
      "parameters": [
        {
          "$ref": "#/components/parameters/complianceNodeIdParam"
        }
      ],
      "get": {
        "tags": [
          "ComplianceNodes"
        ],
        "summary": "Get log file details for a compliance node.",
        "operationId": "get_log_file_details",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "ComplianceNodeLogFileDetailsResponse",
                  "properties": {
                    "items": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/ComplianceNodeLogFileDetails"
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/compliance-nodes/{complianceNodeId}/logs/content": {
      "parameters": [
        {
          "$ref": "#/components/parameters/complianceNodeIdParam"
        }
      ],
      "get": {
        "parameters": [
          {
            "$ref": "#/components/parameters/offsetParam"
          },
          {
            "$ref": "#/components/parameters/pageSizeParam"
          },
          {
            "$ref": "#/components/parameters/logFileNumberParam"
          },
          {
            "$ref": "#/components/parameters/timestampParam"
          }
        ],
        "tags": [
          "ComplianceNodes"
        ],
        "summary": "Get log content for a compliance node.",
        "operationId": "get_log_content",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "ComplianceNodeLogContentResponse",
                  "properties": {
                    "log_page_info": {
                      "type": "object",
                      "properties": {
                        "log_file_number": {
                          "type": "integer",
                          "description": "The log number of the current log file."
                        },
                        "next_page_offset": {
                          "type": "integer",
                          "description": "The offset for the next page of log content."
                        },
                        "total_lines": {
                          "type": "integer",
                          "description": "The total number of lines in the current log file."
                        }
                      }
                    },
                    "content": {
                      "type": "array",
                      "description": "The content of the log file.",
                      "items": {
                        "type": "string"
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/compliance-password-vaults/search": {
      "post": {
        "summary": "Search for compliance password vaults.",
        "operationId": "search_compliance_password_vaults",
        "tags": [
          "CompliancePasswordVaults"
        ],
        "x-filterable": {
          "fields": {
            "id": {
              "type": "string"
            },
            "name": {
              "type": "string"
            },
            "vault_type": {
              "type": "string"
            },
            "description": {
              "type": "string"
            },
            "account_id": {
              "type": "integer"
            },
            "account_name": {
              "type": "string"
            },
            "creation_date": {
              "type": "string"
            },
            "tags": {
              "type": "array[object]",
              "fields": {
                "key": {
                  "type": "string"
                },
                "value": {
                  "type": "string"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/limit"
          },
          {
            "$ref": "#/components/parameters/cursor"
          },
          {
            "$ref": "#/components/parameters/compliancePasswordVaultsSortParam"
          }
        ],
        "requestBody": {
          "$ref": "#/components/requestBodies/SearchBody"
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "SearchCompliancePasswordVaultsResponse",
                  "properties": {
                    "items": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/CompliancePasswordVault"
                      }
                    },
                    "response_metadata": {
                      "$ref": "#/components/schemas/PaginatedResponseMetadata"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/compliance-password-vaults": {
      "get": {
        "tags": [
          "CompliancePasswordVaults"
        ],
        "summary": "Retrieve the list of compliance password vaults.",
        "operationId": "get_compliance_password_vaults",
        "parameters": [
          {
            "$ref": "#/components/parameters/limit"
          },
          {
            "$ref": "#/components/parameters/cursor"
          },
          {
            "$ref": "#/components/parameters/compliancePasswordVaultsSortParam"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "ListCompliancePasswordVaultsResponse",
                  "properties": {
                    "items": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/CompliancePasswordVault"
                      }
                    },
                    "response_metadata": {
                      "$ref": "#/components/schemas/PaginatedResponseMetadata"
                    }
                  }
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "CompliancePasswordVaults"
        ],
        "summary": "Create a Compliance Password Vault.",
        "operationId": "create_compliance_password_vault",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "x-body-name": "compliance_password_vault_create_request",
                "$ref": "#/components/schemas/CompliancePasswordVaultCreateRequest"
              }
            }
          },
          "description": "The new Compliance Password Vault to create.",
          "required": true
        },
        "responses": {
          "201": {
            "description": "Created Compliance Password Vault.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "CompliancePasswordVaultCreateResponse",
                  "properties": {
                    "id": {
                      "type": "string",
                      "description": "The ID of the created Compliance Password Vault."
                    },
                    "job": {
                      "$ref": "#/components/schemas/Job"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/compliance-password-vaults/{compliancePasswordVaultId}": {
      "parameters": [
        {
          "$ref": "#/components/parameters/compliancePasswordVaultIdParam"
        }
      ],
      "get": {
        "tags": [
          "CompliancePasswordVaults"
        ],
        "summary": "Get a Compliance Password Vault by ID.",
        "operationId": "get_compliance_password_vault_by_id",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CompliancePasswordVault"
                }
              }
            }
          }
        }
      },
      "patch": {
        "tags": [
          "CompliancePasswordVaults"
        ],
        "summary": "Update a Compliance Password Vault.",
        "operationId": "update_compliance_password_vault",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "x-body-name": "compliance_password_vault_update_request",
                "$ref": "#/components/schemas/CompliancePasswordVaultUpdateRequest"
              }
            }
          },
          "description": "The updated Compliance Password Vault.",
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "CompliancePasswordVaultUpdateResponse",
                  "properties": {
                    "job": {
                      "$ref": "#/components/schemas/Job"
                    }
                  }
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "CompliancePasswordVaults"
        ],
        "summary": "Delete a Compliance Password Vault.",
        "operationId": "delete_compliance_password_vault",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "CompliancePasswordVaultDeleteResponse",
                  "properties": {
                    "job": {
                      "$ref": "#/components/schemas/Job"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/compliance-password-vaults/{compliancePasswordVaultId}/tags": {
      "parameters": [
        {
          "$ref": "#/components/parameters/compliancePasswordVaultIdParam"
        }
      ],
      "post": {
        "tags": [
          "CompliancePasswordVaults"
        ],
        "summary": "Create tags for a Compliance Password Vault.",
        "operationId": "create_compliance_password_vault_tags",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "x-body-name": "compliance_password_vault_tags",
                "$ref": "#/components/schemas/TagsRequest"
              }
            }
          },
          "description": "Tags information for Compliance Password Vault.",
          "required": true
        },
        "responses": {
          "201": {
            "description": "Created",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TagsResponse"
                }
              }
            }
          }
        }
      },
      "get": {
        "tags": [
          "CompliancePasswordVaults"
        ],
        "summary": "Get tags for a Compliance Password Vault.",
        "operationId": "get_compliance_password_vault_tags",
        "responses": {
          "200": {
            "description": "Ok",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TagsResponse"
                }
              }
            }
          }
        }
      }
    },
    "/compliance-password-vaults/{compliancePasswordVaultId}/tags/delete": {
      "parameters": [
        {
          "$ref": "#/components/parameters/compliancePasswordVaultIdParam"
        }
      ],
      "post": {
        "tags": [
          "CompliancePasswordVaults"
        ],
        "summary": "Delete tags for a Compliance Password Vault.",
        "operationId": "delete_compliance_password_vault_tags",
        "requestBody": {
          "$ref": "#/components/requestBodies/DeleteTags",
          "required": false
        },
        "responses": {
          "204": {
            "description": "No Content"
          }
        }
      }
    },
    "/compliance-credential-paths/search": {
      "post": {
        "summary": "Search for compliance credential paths.",
        "operationId": "search_compliance_credential_paths",
        "tags": [
          "ComplianceCredentialPaths"
        ],
        "x-filterable": {
          "fields": {
            "id": {
              "type": "string"
            },
            "name": {
              "type": "string"
            },
            "description": {
              "type": "string"
            },
            "password_vault_id": {
              "type": "string"
            },
            "account_id": {
              "type": "integer"
            },
            "account_name": {
              "type": "string"
            },
            "creation_date": {
              "type": "string"
            },
            "tags": {
              "type": "array[object]",
              "fields": {
                "key": {
                  "type": "string"
                },
                "value": {
                  "type": "string"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/limit"
          },
          {
            "$ref": "#/components/parameters/cursor"
          },
          {
            "$ref": "#/components/parameters/complianceCredentialPathsSortParam"
          }
        ],
        "requestBody": {
          "$ref": "#/components/requestBodies/SearchBody"
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "SearchComplianceCredentialPathsResponse",
                  "properties": {
                    "items": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/ComplianceCredentialPath"
                      }
                    },
                    "response_metadata": {
                      "$ref": "#/components/schemas/PaginatedResponseMetadata"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/compliance-credential-paths": {
      "get": {
        "tags": [
          "ComplianceCredentialPaths"
        ],
        "summary": "Retrieve the list of compliance credential paths.",
        "operationId": "get_compliance_credential_paths",
        "parameters": [
          {
            "$ref": "#/components/parameters/limit"
          },
          {
            "$ref": "#/components/parameters/cursor"
          },
          {
            "$ref": "#/components/parameters/complianceCredentialPathsSortParam"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "ListComplianceCredentialPathsResponse",
                  "properties": {
                    "items": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/ComplianceCredentialPath"
                      }
                    },
                    "response_metadata": {
                      "$ref": "#/components/schemas/PaginatedResponseMetadata"
                    }
                  }
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "ComplianceCredentialPaths"
        ],
        "summary": "Create a Compliance Credential Path.",
        "operationId": "create_compliance_credential_path",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "x-body-name": "compliance_credential_path_create_request",
                "$ref": "#/components/schemas/ComplianceCredentialPathCreateRequest"
              }
            }
          },
          "description": "The new Compliance Credential Path to create.",
          "required": true
        },
        "responses": {
          "201": {
            "description": "Created Compliance Credential Path.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "ComplianceCredentialPathCreateResponse",
                  "properties": {
                    "id": {
                      "type": "string",
                      "description": "The ID of the created Compliance Credential Path."
                    },
                    "job": {
                      "$ref": "#/components/schemas/Job"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/compliance-credential-paths/{complianceCredentialPathId}": {
      "parameters": [
        {
          "$ref": "#/components/parameters/complianceCredentialPathIdParam"
        }
      ],
      "get": {
        "tags": [
          "ComplianceCredentialPaths"
        ],
        "summary": "Get a Compliance Credential Path by ID.",
        "operationId": "get_compliance_credential_path_by_id",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ComplianceCredentialPath"
                }
              }
            }
          }
        }
      },
      "patch": {
        "tags": [
          "ComplianceCredentialPaths"
        ],
        "summary": "Update a Compliance Credential Path.",
        "operationId": "update_compliance_credential_path",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "x-body-name": "compliance_credential_path_update_request",
                "$ref": "#/components/schemas/ComplianceCredentialPathUpdateRequest"
              }
            }
          },
          "description": "The updated Compliance Credential Path.",
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "ComplianceCredentialPathUpdateResponse",
                  "properties": {
                    "job": {
                      "$ref": "#/components/schemas/Job"
                    }
                  }
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "ComplianceCredentialPaths"
        ],
        "summary": "Delete a Compliance Credential Path.",
        "operationId": "delete_compliance_credential_path",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "ComplianceCredentialPathDeleteResponse",
                  "properties": {
                    "job": {
                      "$ref": "#/components/schemas/Job"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/compliance-credential-paths/{complianceCredentialPathId}/tags": {
      "parameters": [
        {
          "$ref": "#/components/parameters/complianceCredentialPathIdParam"
        }
      ],
      "post": {
        "tags": [
          "ComplianceCredentialPaths"
        ],
        "summary": "Create tags for a Compliance Credential Path.",
        "operationId": "create_compliance_credential_path_tags",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "x-body-name": "compliance_credential_path_tags",
                "$ref": "#/components/schemas/TagsRequest"
              }
            }
          },
          "description": "Tags information for Compliance Credential Path.",
          "required": true
        },
        "responses": {
          "201": {
            "description": "Created",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TagsResponse"
                }
              }
            }
          }
        }
      },
      "get": {
        "tags": [
          "ComplianceCredentialPaths"
        ],
        "summary": "Get tags for a Compliance Credential Path.",
        "operationId": "get_compliance_credential_path_tags",
        "responses": {
          "200": {
            "description": "Ok",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TagsResponse"
                }
              }
            }
          }
        }
      }
    },
    "/compliance-credential-paths/{complianceCredentialPathId}/tags/delete": {
      "parameters": [
        {
          "$ref": "#/components/parameters/complianceCredentialPathIdParam"
        }
      ],
      "post": {
        "tags": [
          "ComplianceCredentialPaths"
        ],
        "summary": "Delete tags for a Compliance Credential Path.",
        "operationId": "delete_compliance_credential_path_tags",
        "requestBody": {
          "$ref": "#/components/requestBodies/DeleteTags",
          "required": false
        },
        "responses": {
          "204": {
            "description": "No Content"
          }
        }
      }
    }
  },
  "components": {
    "parameters": {
      "limit": {
        "name": "limit",
        "in": "query",
        "description": "Maximum number of objects to return per query. The value must be between 1 and 1000. Default is 100.",
        "example": 50,
        "schema": {
          "type": "integer",
          "minimum": 1,
          "maximum": 1000,
          "default": 100
        }
      },
      "limitExtendedParam": {
        "name": "limit",
        "in": "query",
        "description": "Maximum number of objects to return per query. The value must be between 1 and 1000. Default is 10000.",
        "example": 100,
        "schema": {
          "type": "integer",
          "minimum": 1,
          "maximum": 10000,
          "default": 10000
        }
      },
      "cursor": {
        "name": "cursor",
        "in": "query",
        "description": "Cursor to fetch the next or previous page of results. The value of this property must be extracted from the 'prev_cursor' or 'next_cursor' property of a PaginatedResponseMetadata which is contained in the response of list and search API endpoints.",
        "schema": {
          "type": "string",
          "minLength": 1,
          "maxLength": 4096
        }
      },
      "startDate": {
        "name": "start_date",
        "in": "query",
        "description": "Report start date/time. Defaults to first API request.",
        "example": "2022-05-29T15:00:00-04:00",
        "schema": {
          "type": "string",
          "format": "date-time"
        }
      },
      "endDate": {
        "name": "end_date",
        "in": "query",
        "description": "Report end date/time. Defaults to current time.",
        "example": "2022-06-07T15:10:00-04:00",
        "schema": {
          "type": "string",
          "format": "date-time"
        }
      },
      "maskingJobDeleteForceParam": {
        "name": "force",
        "in": "query",
        "description": "If true, ignores any failures to remove a masking job on an engine.",
        "example": true,
        "schema": {
          "type": "boolean",
          "default": false
        }
      },
      "maskingPluginDeleteForceParam": {
        "in": "query",
        "name": "force",
        "required": false,
        "description": "If true, replace all algorithm usages with NullValueLookup before deleting the plugin. Default is false.",
        "schema": {
          "type": "boolean",
          "default": false
        },
        "example": false
      },
      "algorithmDeleteForceParam": {
        "in": "query",
        "name": "force",
        "required": false,
        "description": "If true, deletes a migrated local mapping algorithm even if its mappings have not been synced (or failed to sync), forgoing that mapping data. Default is false.",
        "schema": {
          "type": "boolean",
          "default": false
        },
        "example": false
      },
      "engineGlobalObjectStateReportSortParam": {
        "name": "sort",
        "in": "query",
        "description": "The field to sort results by. A property name with a prepended '-' signifies descending order.",
        "example": "engine_id",
        "required": false,
        "schema": {
          "type": "string",
          "enum": [
            "engine_id",
            "-engine_id",
            "engine_name",
            "-engine_name",
            "jobs_count",
            "-jobs_count",
            "connectors_count",
            "-connectors_count",
            "rulesets_count",
            "-rulesets_count",
            "global_object_revision_hash",
            "-global_object_revision_hash"
          ],
          "nullable": true,
          "example": "engine_id"
        }
      },
      "dataRiskReportSortParam": {
        "name": "sort",
        "in": "query",
        "description": "The field to sort results by. A property name with a prepended '-' signifies descending order.",
        "example": "engine_id",
        "required": false,
        "schema": {
          "type": "string",
          "enum": [
            "connector_id",
            "-connector_id",
            "engine_connector_id",
            "-engine_connector_id",
            "connector_name",
            "-connector_name",
            "connector_type",
            "-connector_type",
            "last_profiled_date",
            "-last_profiled_date",
            "last_masked_date",
            "-last_masked_date",
            "dct_managed",
            "-dct_managed",
            "engine_id",
            "-engine_id",
            "engine_name",
            "-engine_name",
            "is_profiled",
            "-is_profiled",
            "is_sensitive_data",
            "-is_sensitive_data",
            "is_masked",
            "-is_masked",
            "is_at_risk",
            "-is_at_risk",
            "data_elements_total",
            "-data_elements_total",
            "data_elements_not_sensitive",
            "-data_elements_not_sensitive",
            "data_elements_sensitive_masked",
            "-data_elements_sensitive_masked",
            "data_elements_sensitive_unmasked",
            "-data_elements_sensitive_unmasked",
            "records_total",
            "-records_total",
            "records_not_sensitive",
            "-records_not_sensitive",
            "records_sensitive_masked",
            "-records_sensitive_masked",
            "records_sensitive_unmasked",
            "-records_sensitive_unmasked"
          ],
          "nullable": true,
          "example": "engine_id"
        }
      },
      "hyperscaleInstanceIdParam": {
        "in": "path",
        "name": "hyperscaleInstanceId",
        "required": true,
        "schema": {
          "type": "string",
          "minLength": 1
        },
        "description": "The ID of the Hyperscale Instance."
      },
      "hyperscaleInstancesSortParam": {
        "name": "sort",
        "in": "query",
        "description": "The field to sort results by. A property name with a prepended '-' signifies descending order.",
        "example": "id",
        "required": false,
        "schema": {
          "type": "string",
          "enum": [
            "id",
            "-id",
            "name",
            "-name",
            "hostname",
            "-hostname",
            "creation_date",
            "-creation_date",
            "status",
            "-status",
            "data_type",
            "-data_type",
            "connection_status",
            "-connection_status",
            "connection_status_details",
            "-connection_status_details",
            "job_orchestrator_id",
            "-job_orchestrator_id",
            "job_orchestrator_name",
            "-job_orchestrator_name",
            "node_count",
            "-node_count"
          ],
          "nullable": true,
          "example": "name"
        }
      },
      "hyperscaleMountPointsSortParam": {
        "name": "sort",
        "in": "query",
        "description": "The field to sort results by. A property name with a prepended '-' signifies descending order.",
        "example": "id",
        "required": false,
        "schema": {
          "type": "string",
          "enum": [
            "id",
            "-id",
            "name",
            "-name",
            "hostname",
            "-hostname",
            "mount_type",
            "-mount_type",
            "options",
            "-options",
            "mount_path",
            "-mount_path",
            "staging_storage_type",
            "-staging_storage_type",
            "auth_mechanism",
            "-auth_mechanism",
            "aws_bucket_name",
            "-aws_bucket_name",
            "aws_bucket_region",
            "-aws_bucket_region",
            "aws_bucket_prefix",
            "-aws_bucket_prefix",
            "aws_bucket_delimiter",
            "-aws_bucket_delimiter",
            "blob_auth_type",
            "-blob_auth_type",
            "blob_account_name",
            "-blob_account_name",
            "blob_container_name",
            "-blob_container_name",
            "blob_container_prefix",
            "-blob_container_prefix",
            "blob_container_delimiter",
            "-blob_container_delimiter",
            "hyperscale_instance_id",
            "-hyperscale_instance_id"
          ],
          "nullable": true,
          "example": "name"
        }
      },
      "hyperscaleConnectorsSortParam": {
        "name": "sort",
        "in": "query",
        "description": "The field to sort results by. A property name with a prepended '-' signifies descending order.",
        "example": "id",
        "required": false,
        "schema": {
          "type": "string",
          "enum": [
            "id",
            "-id",
            "name",
            "-name",
            "hyperscale_instance_id",
            "-hyperscale_instance_id",
            "data_type",
            "-data_type",
            "source_username",
            "-source_username",
            "source_jdbc_url",
            "-source_jdbc_url",
            "source_mongo_url",
            "-source_mongo_url",
            "target_username",
            "-target_username",
            "target_jdbc_url",
            "-target_jdbc_url",
            "target_mongo_url",
            "-target_mongo_url"
          ],
          "nullable": true,
          "example": "source_username"
        }
      },
      "hyperscaleDatasetsSortParam": {
        "name": "sort",
        "in": "query",
        "description": "The field to sort results by. A property name with a prepended '-' signifies descending order.",
        "example": "id",
        "required": false,
        "schema": {
          "type": "string",
          "enum": [
            "id",
            "-id",
            "hyperscale_instance_id",
            "-hyperscale_instance_id",
            "data_type",
            "-data_type",
            "connector_id",
            "-connector_id",
            "mount_point_id",
            "-mount_point_id"
          ],
          "nullable": true,
          "example": "id"
        }
      },
      "hyperscaleDatasetTablesOrFilesSortParam": {
        "name": "sort",
        "in": "query",
        "description": "The field to sort results by. A property name with a prepended '-' signifies descending order.",
        "example": "id",
        "required": false,
        "schema": {
          "type": "string",
          "enum": [
            "id",
            "-id",
            "schema_name",
            "-schema_name",
            "table_name",
            "-table_name",
            "database_name",
            "-database_name",
            "collection_name",
            "-collection_name",
            "filter_key",
            "-filter_key",
            "column_array_rows",
            "-column_array_rows",
            "unload_split",
            "-unload_split",
            "stream_size",
            "-stream_size"
          ],
          "nullable": true,
          "example": "table_name"
        }
      },
      "algorithmsSortParam": {
        "name": "sort",
        "in": "query",
        "description": "The field to sort results by. A property name with a prepended '-' signifies a descending order.",
        "example": "id",
        "required": false,
        "schema": {
          "type": "string",
          "enum": [
            "id",
            "-id",
            "name",
            "-name",
            "description",
            "-description",
            "plugin_name",
            "-plugin_name",
            "framework_name",
            "-framework_name",
            "create_date",
            "-create_date",
            "engine_name",
            "-engine_name",
            "engine_id",
            "-engine_id",
            "revision_hash",
            "-revision_hash",
            "account_id",
            "-account_id",
            "account_name",
            "-account_name",
            "dct_managed",
            "-dct_managed",
            "config_invalid",
            "-config_invalid",
            "is_default_instance",
            "-is_default_instance",
            "is_tokenization_supported",
            "-is_tokenization_supported"
          ],
          "nullable": true,
          "example": "name"
        }
      },
      "classifiersSortParam": {
        "name": "sort",
        "in": "query",
        "description": "The field to sort results by. A property name with a prepended '-' signifies a descending order.",
        "example": "name",
        "required": false,
        "schema": {
          "type": "string",
          "enum": [
            "id",
            "-id",
            "name",
            "-name",
            "framework",
            "-framework",
            "description",
            "-description",
            "account_id",
            "-account_id",
            "account_name",
            "-account_name",
            "dct_managed",
            "-dct_managed",
            "data_class_id",
            "-data_class_id",
            "data_class_name",
            "-data_class_name",
            "engine_id",
            "-engine_id",
            "engine_name",
            "-engine_name"
          ],
          "nullable": true,
          "example": "name"
        }
      },
      "databaseTableMetadataSortParam": {
        "name": "sort",
        "in": "query",
        "description": "The field to sort results by. A property name with a prepended '-' signifies a descending order.",
        "example": "id",
        "required": false,
        "schema": {
          "type": "string",
          "enum": [
            "id",
            "-id",
            "table_name",
            "-table_name",
            "rule_set_id",
            "-rule_set_id",
            "custom_sql",
            "-custom_sql",
            "where_clause",
            "-where_clause",
            "having_clause",
            "-having_clause",
            "key_column",
            "-key_column",
            "is_sensitive",
            "-is_sensitive",
            "row_count",
            "-row_count",
            "last_refresh_time",
            "-last_refresh_time",
            "last_row_count_time",
            "-last_row_count_time",
            "engine_id",
            "-engine_id",
            "engine_name",
            "-engine_name",
            "dct_managed",
            "-dct_managed",
            "filter_key",
            "-filter_key",
            "unload_split",
            "-unload_split",
            "auto_calculate_unload_split",
            "-auto_calculate_unload_split",
            "max_parallel_connections_per_table",
            "-max_parallel_connections_per_table",
            "max_records_per_split",
            "-max_records_per_split",
            "max_split_per_connection",
            "-max_split_per_connection",
            "stream_size",
            "-stream_size",
            "column_array_rows",
            "-column_array_rows"
          ],
          "nullable": true,
          "example": "table_name"
        }
      },
      "databaseColumnMetadataSortParam": {
        "name": "sort",
        "in": "query",
        "description": "The field to sort results by. A property name with a prepended '-' signifies a descending order.",
        "example": "column_name",
        "required": false,
        "schema": {
          "type": "string",
          "enum": [
            "id",
            "-id",
            "column_name",
            "-column_name",
            "database_table_metadata_id",
            "-database_table_metadata_id",
            "table_name",
            "-table_name",
            "rule_set_id",
            "-rule_set_id",
            "rule_set_name",
            "-rule_set_name",
            "engine_id",
            "-engine_id",
            "engine_name",
            "-engine_name",
            "algorithm_id",
            "-algorithm_id",
            "algorithm_name",
            "-algorithm_name",
            "algorithm_field_id",
            "-algorithm_field_id",
            "algorithm_field_name",
            "-algorithm_field_name",
            "algorithm_group_no",
            "-algorithm_group_no",
            "data_class_id",
            "-data_class_id",
            "data_class_name",
            "-data_class_name",
            "data_type",
            "-data_type",
            "date_format",
            "-date_format",
            "column_length",
            "-column_length",
            "is_sensitive",
            "-is_sensitive",
            "is_profiler_writable",
            "-is_profiler_writable",
            "is_primary_key",
            "-is_primary_key",
            "is_identity",
            "-is_identity",
            "is_index",
            "-is_index",
            "is_foreign_key",
            "-is_foreign_key",
            "dct_managed",
            "-dct_managed",
            "document_store_type",
            "-document_store_type"
          ],
          "nullable": true,
          "example": "column_name"
        }
      },
      "dependenciesSortParam": {
        "name": "sort",
        "in": "query",
        "description": "The field to sort results by. A property name with a prepended '-' signifies a descending order.",
        "example": "id",
        "required": false,
        "schema": {
          "type": "string",
          "enum": [
            "child_id",
            "-child_id",
            "child_name",
            "-child_name",
            "child_type",
            "-child_type"
          ],
          "nullable": true,
          "example": "child_id"
        }
      },
      "dataClassesSortParam": {
        "name": "sort",
        "in": "query",
        "description": "The field to sort results by. A property name with a prepended '-' signifies a descending order.",
        "required": false,
        "schema": {
          "type": "string",
          "enum": [
            "id",
            "-id",
            "name",
            "-name",
            "default_algorithm_id",
            "-default_algorithm_id",
            "default_algorithm_name",
            "-default_algorithm_name",
            "default_token_algorithm_id",
            "-default_token_algorithm_id",
            "default_token_algorithm_name",
            "-default_token_algorithm_name",
            "description",
            "-description",
            "example",
            "-example",
            "revision_hash",
            "-revision_hash",
            "engine_id",
            "-engine_id",
            "engine_name",
            "-engine_name",
            "creation_date",
            "-creation_date",
            "account_id",
            "-account_id",
            "account_name",
            "-account_name",
            "dct_managed",
            "-dct_managed"
          ],
          "nullable": true,
          "example": "name"
        }
      },
      "discoveryPoliciesSortParam": {
        "name": "sort",
        "in": "query",
        "description": "The field to sort results by. A property name with a prepended '-' signifies a descending order.",
        "example": "id",
        "required": false,
        "schema": {
          "type": "string",
          "enum": [
            "id",
            "-id",
            "name",
            "-name",
            "description",
            "-description",
            "account_id",
            "-account_id",
            "account_name",
            "-account_name",
            "dct_managed",
            "-dct_managed",
            "discovery_method",
            "-discovery_method",
            "assignment_threshold",
            "-assignment_threshold",
            "engine_id",
            "-engine_id",
            "engine_name",
            "-engine_name"
          ],
          "nullable": true,
          "example": "name"
        }
      },
      "maskingJobsSortParam": {
        "name": "sort",
        "in": "query",
        "description": "The field to sort results by. A property name with a prepended '-' signifies a descending order.",
        "example": "id",
        "required": false,
        "schema": {
          "type": "string",
          "enum": [
            "id",
            "-id",
            "name",
            "-name",
            "is_on_the_fly_masking",
            "-is_on_the_fly_masking",
            "creation_date",
            "-creation_date",
            "last_completed_execution_date",
            "-last_completed_execution_date",
            "last_execution_status",
            "-last_execution_status",
            "last_execution_id",
            "-last_execution_id",
            "rule_set_id",
            "-rule_set_id",
            "rule_set_name",
            "-rule_set_name",
            "ruleset.name",
            "-ruleset.name",
            "connector_type",
            "-connector_type",
            "description",
            "-description",
            "dataset_id",
            "-dataset_id",
            "retain_execution_data",
            "-retain_execution_data",
            "parallelism_degree",
            "-parallelism_degree",
            "max_concurrent_target_connections",
            "-max_concurrent_target_connections",
            "max_concurrent_source_connections",
            "-max_concurrent_source_connections",
            "num_input_streams",
            "-num_input_streams",
            "stream_row_limit",
            "-stream_row_limit",
            "feedback_size",
            "-feedback_size",
            "min_memory",
            "-min_memory",
            "max_memory",
            "-max_memory"
          ],
          "nullable": true,
          "example": "name"
        }
      },
      "sshKeysSortParam": {
        "name": "sort",
        "in": "query",
        "description": "The field to sort results by. A property name with a prepended '-' signifies a descending order.",
        "required": false,
        "schema": {
          "type": "string",
          "enum": [
            "id",
            "-id",
            "name",
            "-name"
          ],
          "nullable": true,
          "example": "name"
        }
      },
      "maskingFilesSortParam": {
        "name": "sort",
        "in": "query",
        "description": "The field to sort results by. A property name with a prepended '-' signifies a descending order.",
        "example": "id",
        "required": false,
        "schema": {
          "type": "string",
          "enum": [
            "id",
            "-id",
            "filename",
            "-filename",
            "created_date",
            "-created_date",
            "file_size",
            "-file_size",
            "file_checksum",
            "-file_checksum",
            "description",
            "-description",
            "file_reference_id",
            "-file_reference_id"
          ],
          "nullable": true,
          "example": "name"
        }
      },
      "ConsumersSortParam": {
        "name": "sort",
        "in": "query",
        "description": "The field to sort results by. A property name with a prepended '-' signifies a descending order.",
        "example": "parent_id",
        "required": false,
        "schema": {
          "type": "string",
          "enum": [
            "parent_id",
            "-parent_id",
            "parent_type",
            "-parent_type",
            "parent_name",
            "-parent_name"
          ],
          "nullable": true,
          "example": "name"
        }
      },
      "maskingExecutionMetricsSortParam": {
        "name": "sort",
        "in": "query",
        "description": "The field to sort results by. A property name with a prepended '-' signifies a descending order.",
        "example": "id",
        "required": false,
        "schema": {
          "type": "string",
          "enum": [
            "id",
            "-id",
            "masking_job_name",
            "-masking_job_name",
            "connector_type",
            "-connector_type",
            "ruleset_name",
            "-ruleset_name",
            "rows_masked",
            "-rows_masked",
            "dct_managed",
            "-dct_managed",
            "rows_total",
            "-rows_total",
            "bytes_masked",
            "-bytes_masked",
            "bytes_total",
            "-bytes_total",
            "duration",
            "-duration",
            "tables_files_count",
            "-tables_files_count",
            "masked_tables_files_count",
            "-masked_tables_files_count",
            "columns_fields_count",
            "-columns_fields_count",
            "masked_columns_fields_count",
            "-masked_columns_fields_count",
            "masking_job_type",
            "-masking_job_type"
          ],
          "nullable": true,
          "example": "name"
        }
      },
      "maskingEnvironmentsSortParam": {
        "name": "sort",
        "in": "query",
        "description": "The field to sort results by. A property name with a prepended '-' signifies a descending order.",
        "example": "id",
        "required": false,
        "schema": {
          "type": "string",
          "enum": [
            "id",
            "-id",
            "name",
            "-name",
            "engine_id",
            "-engine_id",
            "engine_name",
            "-engine_name",
            "purpose",
            "-purpose",
            "is_workflow_enabled",
            "-is_workflow_enabled"
          ],
          "nullable": true,
          "example": "name"
        }
      },
      "maskingJobSourceEnginesSortParam": {
        "name": "sort",
        "in": "query",
        "description": "The field to sort results by. A property name with a prepended '-' signifies a descending order.",
        "example": "id",
        "required": false,
        "schema": {
          "type": "string",
          "enum": [
            "masking_job_id",
            "-masking_job_id",
            "source_engine_id",
            "-source_engine_id"
          ],
          "nullable": true,
          "example": "name"
        }
      },
      "executionsSortParam": {
        "name": "sort",
        "in": "query",
        "description": "The field to sort results by. A property name with a prepended '-' signifies a descending order.",
        "example": "id",
        "required": false,
        "schema": {
          "type": "string",
          "enum": [
            "id",
            "-id",
            "engine_id",
            "-engine_id",
            "engine_name",
            "-engine_name",
            "job_orchestrator_id",
            "-job_orchestrator_id",
            "job_orchestrator_name",
            "-job_orchestrator_name",
            "masking_job_id",
            "-masking_job_id",
            "masking_job_name",
            "-masking_job_name",
            "compliance_job_type",
            "-compliance_job_type",
            "dct_managed",
            "-dct_managed",
            "source_connector_id",
            "-source_connector_id",
            "source_connector_name",
            "-source_connector_name",
            "target_connector_id",
            "-target_connector_id",
            "target_connector_name",
            "-target_connector_name",
            "status",
            "-status",
            "rows_masked",
            "-rows_masked",
            "rows_total",
            "-rows_total",
            "bytes_processed",
            "-bytes_processed",
            "bytes_total",
            "-bytes_total",
            "start_time",
            "-start_time",
            "end_time",
            "-end_time",
            "submit_time",
            "-submit_time",
            "run_duration",
            "-run_duration",
            "queue_duration",
            "-queue_duration",
            "total_duration",
            "-total_duration",
            "account_id",
            "-account_id",
            "account_name",
            "-account_name",
            "hyperscale_engine_count",
            "-hyperscale_engine_count"
          ],
          "nullable": true,
          "example": "-start_time"
        }
      },
      "executionEventsSortParam": {
        "name": "sort",
        "in": "query",
        "description": "The field to sort results by. A property name with a prepended '-' signifies a descending order.",
        "example": "id",
        "required": false,
        "schema": {
          "type": "string",
          "enum": [
            "id",
            "-id",
            "execution_id",
            "-execution_id",
            "execution_component_id",
            "-execution_component_id",
            "event_type",
            "-event_type",
            "severity",
            "-severity",
            "cause",
            "-cause",
            "count",
            "-count",
            "timestamp",
            "-timestamp",
            "masked_object_name",
            "-masked_object_name",
            "algorithm_name",
            "-algorithm_name",
            "exception_type",
            "-exception_type",
            "exception_detail",
            "-exception_detail"
          ],
          "nullable": true,
          "example": "id"
        }
      },
      "executionComponentsSortParam": {
        "name": "sort",
        "in": "query",
        "description": "The field to sort results by. A property name with a prepended '-' signifies a descending order.",
        "example": "id",
        "required": false,
        "schema": {
          "type": "string",
          "enum": [
            "id",
            "-id",
            "name",
            "-name",
            "execution_id",
            "-execution_id",
            "status",
            "-status",
            "rows_masked",
            "-rows_masked",
            "rows_total",
            "-rows_total",
            "bytes_processed",
            "-bytes_processed",
            "bytes_total",
            "-bytes_total",
            "start_time",
            "-start_time",
            "end_time",
            "-end_time",
            "non_conforming_data_count",
            "-non_conforming_data_count"
          ],
          "nullable": true,
          "example": "id"
        }
      },
      "complianceJdbcDriversSortParam": {
        "name": "sort",
        "in": "query",
        "description": "The field to sort results by. A property name with a prepended '-' signifies a descending order.",
        "example": "id",
        "required": false,
        "schema": {
          "type": "string",
          "enum": [
            "id",
            "-id",
            "name",
            "-name",
            "class_name",
            "-class_name",
            "description",
            "-description",
            "version",
            "-version",
            "install_date",
            "-install_date",
            "account_id",
            "-account_id",
            "account_name",
            "-account_name",
            "driver_support_id",
            "-driver_support_id",
            "license_file_id",
            "-license_file_id",
            "built_in",
            "-built_in"
          ],
          "nullable": true,
          "example": "name"
        }
      },
      "connectorsSortParam": {
        "name": "sort",
        "in": "query",
        "description": "The field to sort results by. A property name with a prepended '-' signifies a descending order.",
        "example": "id",
        "required": false,
        "schema": {
          "type": "string",
          "enum": [
            "id",
            "-id",
            "engine_id",
            "-engine_id",
            "engine_name",
            "-engine_name",
            "type",
            "-type",
            "database_type",
            "-database_type",
            "platform",
            "-platform",
            "name",
            "-name",
            "hostname",
            "-hostname",
            "username",
            "-username",
            "port",
            "-port",
            "auth_present",
            "-auth_present",
            "custom_driver_name",
            "-custom_driver_name",
            "compliance_jdbc_driver_id",
            "-compliance_jdbc_driver_id",
            "compliance_jdbc_driver_name",
            "-compliance_jdbc_driver_name",
            "database_name",
            "-database_name",
            "instance_name",
            "-instance_name",
            "jdbc",
            "-jdbc",
            "schema_name",
            "-schema_name",
            "sid",
            "-sid",
            "kerberos_auth",
            "-kerberos_auth",
            "service_principal",
            "-service_principal",
            "enable_logger",
            "-enable_logger",
            "file_type",
            "-file_type",
            "connection_mode",
            "-connection_mode",
            "path",
            "-path",
            "ssh_key",
            "-ssh_key",
            "user_dir_is_root",
            "-user_dir_is_root",
            "data_connection_id",
            "-data_connection_id",
            "account_id",
            "-account_id",
            "account_name",
            "-account_name",
            "dct_managed",
            "-dct_managed",
            "job_orchestrator_id",
            "-job_orchestrator_id",
            "job_orchestrator_name",
            "-job_orchestrator_name",
            "mount_information_id",
            "-mount_information_id",
            "credential_path_id",
            "-credential_path_id",
            "mount_information_name",
            "-mount_information_name",
            "credential_path_name",
            "-credential_path_name"
          ],
          "nullable": true,
          "example": "name"
        }
      },
      "ruleSetsSortParam": {
        "name": "sort",
        "in": "query",
        "description": "The field to sort results by. A property name with a prepended '-' signifies a descending order.",
        "required": false,
        "schema": {
          "type": "string",
          "enum": [
            "id",
            "-id",
            "name",
            "-name",
            "type",
            "-type",
            "platform",
            "-platform",
            "connector_id",
            "-connector_id",
            "connector_name",
            "-connector_name",
            "engine_id",
            "-engine_id",
            "engine_name",
            "-engine_name",
            "data_elements_total",
            "-data_elements_total",
            "records_total",
            "-records_total",
            "creation_date",
            "-creation_date",
            "account_id",
            "-account_id",
            "account_name",
            "-account_name",
            "dct_managed",
            "-dct_managed",
            "job_orchestrator_id",
            "-job_orchestrator_id",
            "job_orchestrator_name",
            "-job_orchestrator_name",
            "last_attempted_refresh_status",
            "-last_attempted_refresh_status",
            "last_attempted_refresh_time",
            "-last_attempted_refresh_time",
            "last_refresh_time",
            "-last_refresh_time",
            "purpose",
            "-purpose"
          ],
          "nullable": true
        }
      },
      "fileFormatsSortParam": {
        "name": "sort",
        "in": "query",
        "description": "The field to sort results by. A property name with a prepended '-' signifies a descending order.",
        "required": false,
        "schema": {
          "type": "string",
          "enum": [
            "id",
            "-id",
            "name",
            "-name",
            "file_type",
            "-file_type",
            "account_id",
            "-account_id",
            "account_name",
            "-account_name",
            "dct_managed",
            "-dct_managed",
            "description",
            "-description"
          ],
          "nullable": true
        }
      },
      "dataFormatsSortParam": {
        "name": "sort",
        "in": "query",
        "description": "The field to sort results by. A property name with a prepended '-' signifies a descending order.",
        "required": false,
        "schema": {
          "type": "string",
          "enum": [
            "id",
            "-id",
            "name",
            "-name",
            "type",
            "-type",
            "description",
            "-description"
          ],
          "nullable": true
        }
      },
      "complianceJobsSortParam": {
        "name": "sort",
        "in": "query",
        "description": "The field to sort results by. A property name with a prepended '-' signifies a descending order.",
        "example": "id",
        "required": false,
        "schema": {
          "type": "string",
          "enum": [
            "id",
            "-id",
            "name",
            "-name",
            "is_on_the_fly_masking",
            "-is_on_the_fly_masking",
            "type",
            "-type",
            "execution_type",
            "-execution_type",
            "engine_job_id",
            "-engine_job_id",
            "creation_date",
            "-creation_date",
            "engine_id",
            "-engine_id",
            "engine_name",
            "-engine_name",
            "last_completed_execution_date",
            "-last_completed_execution_date",
            "last_execution_status",
            "-last_execution_status",
            "last_execution_id",
            "-last_execution_id",
            "last_execution_start_time",
            "-last_execution_start_time",
            "last_execution_run_time",
            "-last_execution_run_time",
            "rule_set_id",
            "-rule_set_id",
            "rule_set_name",
            "-rule_set_name",
            "pre_script.name",
            "-pre_script.name",
            "pre_script.contents",
            "-pre_script.contents",
            "post_script.name",
            "-post_script.name",
            "post_script.contents",
            "-post_script.contents",
            "connector_type",
            "-connector_type",
            "description",
            "-description",
            "dataset_id",
            "-dataset_id",
            "retain_execution_data",
            "-retain_execution_data",
            "parallelism_degree",
            "-parallelism_degree",
            "is_multi_tenant",
            "-is_multi_tenant",
            "auto_calculate_unload_split",
            "-auto_calculate_unload_split",
            "hyperscale_enabled",
            "-hyperscale_enabled",
            "consider_continuous_compliance_warning_event_as",
            "-consider_continuous_compliance_warning_event_as",
            "create_all_indexes_with_nologging",
            "-create_all_indexes_with_nologging",
            "disable_parallel_index_creation",
            "-disable_parallel_index_creation",
            "enable_all_constraints_with_novalidate",
            "-enable_all_constraints_with_novalidate",
            "max_parallel_connections_per_table",
            "-max_parallel_connections_per_table",
            "max_records_per_split",
            "-max_records_per_split",
            "max_split_per_connection",
            "-max_split_per_connection",
            "max_concurrent_target_connections",
            "-max_concurrent_target_connections",
            "max_concurrent_source_connections",
            "-max_concurrent_source_connections",
            "num_input_streams",
            "-num_input_streams",
            "stream_row_limit",
            "-stream_row_limit",
            "feedback_size",
            "-feedback_size",
            "min_memory",
            "-min_memory",
            "max_memory",
            "-max_memory",
            "discovery_policy_id",
            "-discovery_policy_id",
            "discovery_policy_name",
            "-discovery_policy_name",
            "account_id",
            "-account_id",
            "account_name",
            "-account_name",
            "dct_managed",
            "-dct_managed",
            "fail_immediately",
            "-fail_immediately",
            "batch_update",
            "-batch_update",
            "commit_size",
            "-commit_size",
            "num_output_threads_per_stream",
            "-num_output_threads_per_stream",
            "on_the_fly_source_connector_id",
            "-on_the_fly_source_connector_id",
            "reset_profiling_assignments",
            "-reset_profiling_assignments",
            "multiple_profiler_check",
            "-multiple_profiler_check",
            "truncate_tables",
            "-truncate_tables",
            "drop_indexes",
            "-drop_indexes",
            "hyperscale_state",
            "-hyperscale_state",
            "non_conformant_data_handling",
            "-non_conformant_data_handling"
          ],
          "nullable": true,
          "example": "name"
        }
      },
      "complianceJobCollectionsSortParam": {
        "name": "sort",
        "in": "query",
        "description": "The field to sort results by. A property name with a prepended '-' signifies a descending order.",
        "example": "id",
        "required": false,
        "schema": {
          "type": "string",
          "enum": [
            "id",
            "-id",
            "name",
            "-name",
            "description",
            "-description",
            "creation_date",
            "-creation_date",
            "job_count",
            "-job_count",
            "last_execution_id",
            "-last_execution_id",
            "failure_handling",
            "-failure_handling"
          ],
          "nullable": true,
          "example": "name"
        }
      },
      "jobCollectionExecutionsSortParam": {
        "name": "sort",
        "in": "query",
        "description": "The field to sort results by. A property name with a prepended '-' signifies a descending order.",
        "required": false,
        "schema": {
          "type": "string",
          "enum": [
            "id",
            "-id",
            "compliance_job_collection_id",
            "-compliance_job_collection_id",
            "compliance_job_collection_name",
            "-compliance_job_collection_name",
            "status",
            "-status",
            "status_reason",
            "-status_reason",
            "start_time",
            "-start_time",
            "end_time",
            "-end_time",
            "run_duration",
            "-run_duration",
            "actual_execution_count",
            "-actual_execution_count",
            "planned_execution_count",
            "-planned_execution_count",
            "rows_processed",
            "-rows_processed",
            "rows_total",
            "-rows_total",
            "bytes_processed",
            "-bytes_processed",
            "bytes_total",
            "-bytes_total",
            "processed_tables_files_count",
            "-processed_tables_files_count",
            "tables_files_count",
            "-tables_files_count",
            "processed_columns_fields_count",
            "-processed_columns_fields_count",
            "columns_fields_count",
            "-columns_fields_count",
            "execute_account_id",
            "-execute_account_id",
            "execute_account_name",
            "-execute_account_name",
            "cancel_account_id",
            "-cancel_account_id",
            "cancel_account_name",
            "-cancel_account_name"
          ],
          "nullable": true,
          "example": "start_time"
        }
      },
      "discoveryResultSortParam": {
        "name": "sort",
        "in": "query",
        "description": "The field to sort results by. A property name with a prepended '-' signifies a descending order.",
        "example": "column_name",
        "required": false,
        "schema": {
          "type": "string",
          "enum": [
            "id",
            "-id",
            "table_name",
            "-table_name",
            "file_name",
            "-file_name",
            "column_name",
            "-column_name",
            "field_name",
            "-field_name",
            "data_class_name",
            "-data_class_name",
            "algorithm_name",
            "-algorithm_name",
            "data_type",
            "-data_type",
            "confidence",
            "-confidence",
            "is_profiler_writable",
            "-is_profiler_writable"
          ],
          "nullable": true,
          "example": "name"
        }
      },
      "jobOrchestratorsSortParam": {
        "name": "sort",
        "in": "query",
        "description": "The field to sort results by. A property name with a prepended '-' signifies a descending order.",
        "example": "id",
        "required": false,
        "schema": {
          "type": "string",
          "enum": [
            "id",
            "-id",
            "name",
            "-name",
            "description",
            "-description",
            "creation_date",
            "-creation_date",
            "account_id",
            "-account_id",
            "account_name",
            "-account_name",
            "node_count",
            "-node_count",
            "total_core_count",
            "-total_core_count",
            "queued_operation_count",
            "-queued_operation_count",
            "running_job_count",
            "-running_job_count"
          ],
          "nullable": true,
          "example": "name"
        }
      },
      "complianceApplicationSettingsSortParam": {
        "name": "sort",
        "in": "query",
        "description": "The field to sort results by. A property name with a prepended '-' signifies descending order.",
        "example": "group",
        "required": false,
        "schema": {
          "type": "string",
          "enum": [
            "id",
            "-id",
            "group",
            "-group",
            "name",
            "-name",
            "value",
            "-value",
            "value_type",
            "-value_type"
          ],
          "nullable": true
        }
      },
      "queuedOperationsSortParam": {
        "name": "sort",
        "in": "query",
        "description": "The field to sort results by. A property name with a prepended '-' signifies descending order.",
        "example": "group",
        "required": false,
        "schema": {
          "type": "string",
          "enum": [
            "id",
            "-id",
            "job_orchestrator_id",
            "-job_orchestrator_id",
            "enqueued_date",
            "-enqueued_date",
            "job_type",
            "-job_type",
            "localized_job_type",
            "-localized_job_type",
            "job_id",
            "-job_id",
            "target_id",
            "-target_id",
            "target_name",
            "-target_name",
            "target_type",
            "-target_type",
            "account_id",
            "-account_id",
            "account_name",
            "-account_name"
          ],
          "nullable": true
        }
      },
      "mountInformationIdParam": {
        "in": "path",
        "name": "mountInformationId",
        "required": true,
        "schema": {
          "type": "string",
          "minLength": 1
        },
        "description": "The ID of the Mount Information."
      },
      "mountInformationSortParam": {
        "name": "sort",
        "in": "query",
        "description": "The field to sort results by. A property name with a prepended '-' signifies descending order.",
        "example": "name",
        "required": false,
        "schema": {
          "type": "string",
          "enum": [
            "id",
            "-id",
            "name",
            "-name",
            "host_address",
            "-host_address",
            "mount_path",
            "-mount_path",
            "type",
            "-type",
            "status",
            "-status",
            "connect_on_startup",
            "-connect_on_startup",
            "options",
            "-options",
            "mount_device",
            "-mount_device",
            "local_mount_path",
            "-local_mount_path",
            "account_id",
            "-account_id",
            "account_name",
            "-account_name",
            "job_orchestrator_id",
            "-job_orchestrator_id",
            "job_orchestrator_name",
            "-job_orchestrator_name"
          ],
          "nullable": true,
          "example": "name"
        }
      },
      "recordTypeIdParam": {
        "in": "path",
        "name": "recordTypeId",
        "required": true,
        "schema": {
          "type": "string",
          "minLength": 1
        },
        "description": "The ID of the Record Type."
      },
      "recordTypeSortParam": {
        "name": "sort",
        "in": "query",
        "description": "The field to sort results by. A property name with a prepended '-' signifies descending order.",
        "example": "record_type_name",
        "required": false,
        "schema": {
          "type": "string",
          "enum": [
            "id",
            "-id",
            "file_format_id",
            "-file_format_id",
            "file_format_name",
            "-file_format_name",
            "record_type_name",
            "-record_type_name",
            "header_body_trailer_cd",
            "-header_body_trailer_cd",
            "account_id",
            "-account_id",
            "account_name",
            "-account_name"
          ],
          "nullable": true,
          "example": "record_type_name"
        }
      },
      "recordTypeQualifierIdParam": {
        "in": "path",
        "name": "recordTypeQualifierId",
        "required": true,
        "schema": {
          "type": "string",
          "minLength": 1
        },
        "description": "The ID of the Record Type Qualifier."
      },
      "recordTypeQualifierSortParam": {
        "name": "sort",
        "in": "query",
        "description": "The field to sort results by. A property name with a prepended '-' signifies descending order.",
        "example": "position_no",
        "required": false,
        "schema": {
          "type": "string",
          "enum": [
            "id",
            "-id",
            "record_type_id",
            "-record_type_id",
            "record_type_name",
            "-record_type_name",
            "record_type_identifier",
            "-record_type_identifier",
            "position_no",
            "-position_no",
            "length_no",
            "-length_no",
            "account_id",
            "-account_id",
            "account_name",
            "-account_name",
            "file_format_id",
            "-file_format_id",
            "file_format_name",
            "-file_format_name"
          ],
          "nullable": true,
          "example": "position_no"
        }
      },
      "mainframeDatasetFormatIdParam": {
        "in": "path",
        "name": "mainframeDatasetFormatId",
        "required": true,
        "schema": {
          "type": "string",
          "minLength": 1
        },
        "description": "The ID of the mainframe dataset format."
      },
      "mainframeDatasetRecordTypeIdParam": {
        "in": "path",
        "name": "mainframeDatasetRecordTypeId",
        "required": true,
        "schema": {
          "type": "string",
          "minLength": 1
        },
        "description": "The ID of the mainframe dataset record type."
      },
      "fileMetadataSortParam": {
        "name": "sort",
        "in": "query",
        "required": false,
        "schema": {
          "type": "string",
          "enum": [
            "id",
            "-id",
            "file_name",
            "-file_name",
            "object_type",
            "-object_type",
            "connector_id",
            "-connector_id",
            "connector_name",
            "-connector_name",
            "rule_set_id",
            "-rule_set_id",
            "rule_set_name",
            "-rule_set_name",
            "file_format_id",
            "-file_format_id",
            "file_format_name",
            "-file_format_name"
          ],
          "nullable": true,
          "example": "file_name"
        },
        "description": "The field to sort results by. A property name with a prepended '-' signifies a descending order."
      },
      "fileMetadataIdParam": {
        "name": "fileMetadataId",
        "in": "path",
        "required": true,
        "description": "The ID or name of the file metadata record.",
        "schema": {
          "type": "string"
        }
      },
      "hyperscaleMountPointIdParam": {
        "in": "path",
        "name": "hyperscaleMountPointId",
        "required": true,
        "schema": {
          "type": "string",
          "minLength": 1
        },
        "description": "The ID of the Hyperscale Mount Point."
      },
      "hyperscaleConnectorIdParam": {
        "in": "path",
        "name": "hyperscaleConnectorId",
        "required": true,
        "schema": {
          "type": "string",
          "minLength": 1
        },
        "description": "The ID of the Hyperscale Connector."
      },
      "hyperscaleDatasetIdParam": {
        "in": "path",
        "name": "hyperscaleDatasetId",
        "required": true,
        "schema": {
          "type": "string",
          "minLength": 1
        },
        "description": "The ID of the Hyperscale Dataset."
      },
      "hyperscaleDatasetTableOrFileIdParam": {
        "in": "path",
        "name": "hyperscaleDatasetTableOrFileId",
        "required": true,
        "schema": {
          "type": "string",
          "minLength": 1
        },
        "description": "The ID of the Hyperscale Dataset table or file."
      },
      "hyperscaleInstanceId": {
        "in": "path",
        "name": "hyperscaleInstanceId",
        "schema": {
          "type": "string"
        },
        "required": true,
        "description": "The ID of hyperscale instance."
      },
      "algorithmIdParam": {
        "in": "path",
        "name": "algorithmId",
        "schema": {
          "type": "string",
          "minLength": 1
        },
        "required": true,
        "description": "The ID of the Algorithm."
      },
      "maskingPluginIdParam": {
        "in": "path",
        "name": "maskingPluginId",
        "schema": {
          "type": "string",
          "minLength": 1
        },
        "required": true,
        "description": "The ID of the masking plugin."
      },
      "algorithmFrameworkIdParam": {
        "in": "path",
        "name": "algorithmFrameworkId",
        "schema": {
          "type": "string",
          "minLength": 1
        },
        "required": true,
        "description": "The ID of the algorithm framework."
      },
      "dataClassIdParam": {
        "name": "dataClassId",
        "in": "path",
        "schema": {
          "type": "string",
          "minLength": 1
        },
        "required": true,
        "description": "The ID of the Data Class."
      },
      "discoveryPolicyIdParam": {
        "in": "path",
        "name": "discoveryPolicyId",
        "schema": {
          "type": "string",
          "minLength": 1
        },
        "required": true,
        "description": "The ID of the Discovery Policy."
      },
      "maskingJobIdParam": {
        "in": "path",
        "name": "maskingJobId",
        "schema": {
          "type": "string",
          "minLength": 1
        },
        "required": true,
        "description": "The ID of the Masking Job."
      },
      "maskingEnvironmentId": {
        "in": "path",
        "name": "maskingEnvironmentId",
        "schema": {
          "type": "string",
          "minLength": 1
        },
        "required": true,
        "description": "The ID of the Masking Environment."
      },
      "executionIdParam": {
        "in": "path",
        "name": "executionId",
        "schema": {
          "type": "string",
          "minLength": 1
        },
        "required": true,
        "description": "The ID of the Execution."
      },
      "executionComponentIdParam": {
        "in": "path",
        "name": "executionComponentId",
        "schema": {
          "type": "string"
        },
        "required": true,
        "description": "The ID of the Execution Component."
      },
      "classifierIdParam": {
        "in": "path",
        "name": "classifierId",
        "schema": {
          "type": "string",
          "minLength": 1
        },
        "required": true,
        "description": "The ID of the Classifier."
      },
      "complianceNodeIdParam": {
        "in": "path",
        "name": "complianceNodeId",
        "schema": {
          "type": "string",
          "minLength": 1
        },
        "required": true,
        "description": "The ID of the Compliance Node."
      },
      "fileDownloadId": {
        "in": "path",
        "name": "fileDownloadId",
        "schema": {
          "type": "string",
          "minLength": 1
        },
        "required": true,
        "description": "The ID of the FileDownload."
      },
      "driverIdParam": {
        "in": "path",
        "name": "driverId",
        "schema": {
          "type": "string",
          "minLength": 1
        },
        "required": true,
        "description": "The ID or name of the JDBC driver."
      },
      "connectorIdParam": {
        "in": "path",
        "name": "connectorId",
        "schema": {
          "type": "string",
          "minLength": 1
        },
        "required": true,
        "description": "The ID of the Connector."
      },
      "ruleSetIdParam": {
        "in": "path",
        "name": "ruleSetId",
        "schema": {
          "type": "string",
          "minLength": 1
        },
        "required": true,
        "description": "The ID of the Rule Set."
      },
      "databaseTableMetadataIdParam": {
        "in": "path",
        "name": "databaseTableMetadataId",
        "schema": {
          "type": "string",
          "minLength": 1
        },
        "required": true,
        "description": "The ID of the database table metadata."
      },
      "databaseColumnMetadataIdParam": {
        "in": "path",
        "name": "databaseColumnMetadataId",
        "schema": {
          "type": "string",
          "minLength": 1
        },
        "required": true,
        "description": "The ID of the database column metadata."
      },
      "fileFieldMetadataSortParam": {
        "name": "sort",
        "in": "query",
        "description": "The field to sort results by. A property name with a prepended '-' signifies descending order.",
        "example": "name",
        "required": false,
        "schema": {
          "type": "string",
          "enum": [
            "id",
            "-id",
            "name",
            "-name",
            "xpath",
            "-xpath",
            "position_no",
            "-position_no",
            "length_no",
            "-length_no",
            "record_type_id",
            "-record_type_id",
            "record_type_name",
            "-record_type_name",
            "file_format_id",
            "-file_format_id",
            "file_format_name",
            "-file_format_name",
            "algorithm_id",
            "-algorithm_id",
            "algorithm_name",
            "-algorithm_name",
            "data_class_id",
            "-data_class_id",
            "data_class_name",
            "-data_class_name",
            "document_store_type",
            "-document_store_type"
          ],
          "nullable": true,
          "example": "name"
        }
      },
      "fileFieldMetadataIdParam": {
        "in": "path",
        "name": "fileFieldMetadataId",
        "required": true,
        "schema": {
          "type": "string",
          "minLength": 1
        },
        "description": "The ID of the File Field Metadata entry."
      },
      "mainframeDatasetFieldMetadataIdParam": {
        "in": "path",
        "name": "mainframeDatasetFieldMetadataId",
        "required": true,
        "schema": {
          "type": "string",
          "minLength": 1
        },
        "description": "The ID of the Mainframe Dataset Field Metadata entry."
      },
      "fileFormatIdParam": {
        "in": "path",
        "name": "fileFormatId",
        "schema": {
          "type": "string",
          "minLength": 1
        },
        "required": true,
        "description": "The ID of the data format."
      },
      "discoveryExpressionIdParam": {
        "in": "path",
        "name": "expressionId",
        "schema": {
          "type": "string",
          "minLength": 1
        },
        "required": true,
        "description": "The ID of the discovery expression."
      },
      "maskingPluginsSortParam": {
        "name": "sort",
        "in": "query",
        "description": "The field to sort results by. A property name with a prepended '-' signifies a descending order.",
        "example": "id",
        "required": false,
        "schema": {
          "type": "string",
          "enum": [
            "id",
            "-id",
            "name",
            "-name",
            "plugin_type",
            "-plugin_type",
            "description",
            "-description",
            "install_date",
            "-install_date",
            "built_in",
            "-built_in",
            "sdk_version",
            "-sdk_version",
            "version",
            "-version",
            "author",
            "-author",
            "account_id",
            "-account_id",
            "account_name",
            "-account_name",
            "dct_managed",
            "-dct_managed"
          ],
          "nullable": true,
          "example": "name"
        }
      },
      "maskingFileIdParam": {
        "in": "path",
        "name": "maskingFileId",
        "schema": {
          "type": "string",
          "minLength": 1
        },
        "required": true,
        "description": "The ID or name of the masking file."
      },
      "jobWithConnectorSortParam": {
        "name": "sort",
        "in": "query",
        "description": "The field to sort results by. A property name with a prepended '-' signifies a descending order.",
        "example": "id",
        "required": false,
        "schema": {
          "type": "string",
          "enum": [
            "id",
            "-id",
            "name",
            "-name",
            "connector_role",
            "-connector_role",
            "is_on_the_fly_masking",
            "-is_on_the_fly_masking",
            "last_execution_time",
            "-last_execution_time",
            "last_execution_status",
            "-last_execution_status",
            "creation_date",
            "-creation_date"
          ],
          "nullable": true,
          "example": "name"
        }
      },
      "discoveryExpressionsSortParam": {
        "name": "sort",
        "in": "query",
        "description": "The",
        "example": "id",
        "required": false,
        "schema": {
          "type": "string",
          "enum": [
            "id",
            "-id",
            "name",
            "-name",
            "regular_expression",
            "-regular_expression",
            "data_level_profiling",
            "-data_level_profiling",
            "min_data_length",
            "-min_data_length",
            "engine_id",
            "-engine_id",
            "engine_name",
            "-engine_name",
            "data_class_id",
            "-data_class_id",
            "data_class_name",
            "-data_class_name",
            "data_type",
            "-data_type",
            "expression_type",
            "-expression_type",
            "level",
            "-level"
          ],
          "nullable": true,
          "example": "name"
        }
      },
      "complianceJobIdParam": {
        "in": "path",
        "name": "complianceJobId",
        "schema": {
          "type": "string",
          "minLength": 1
        },
        "required": true,
        "description": "The ID of the compliance job."
      },
      "complianceJobCollectionIdParam": {
        "in": "path",
        "name": "complianceJobCollectionId",
        "schema": {
          "type": "string",
          "minLength": 1
        },
        "required": true,
        "description": "The ID of the compliance job collection."
      },
      "jobCollectionExecutionIdParam": {
        "in": "path",
        "name": "jobCollectionExecutionId",
        "schema": {
          "type": "string",
          "minLength": 1
        },
        "required": true,
        "description": "The ID of the job collection execution."
      },
      "jobOrchestratorIdParam": {
        "in": "path",
        "name": "jobOrchestratorId",
        "schema": {
          "type": "string",
          "minLength": 1
        },
        "required": true,
        "description": "The ID of the job orchestrator."
      },
      "applicationSettingsIdParam": {
        "in": "path",
        "name": "applicationSettingsId",
        "schema": {
          "type": "string",
          "minLength": 1
        },
        "required": true,
        "description": "The ID of the application setting."
      },
      "complianceNodesSortParam": {
        "name": "sort",
        "in": "query",
        "description": "The field to sort results by. A property name with a prepended '-' signifies a descending order.",
        "example": "id",
        "required": false,
        "schema": {
          "type": "string",
          "enum": [
            "id",
            "-id",
            "name",
            "-name",
            "hostname",
            "-hostname",
            "insecure_ssl",
            "-insecure_ssl",
            "unsafe_ssl_hostname_check",
            "-unsafe_ssl_hostname_check",
            "username",
            "-username",
            "creation_date",
            "-creation_date",
            "account_id",
            "-account_id",
            "account_name",
            "-account_name",
            "status",
            "-status",
            "status_details",
            "-status_details",
            "job_orchestrator_id",
            "-job_orchestrator_id",
            "job_orchestrator_name",
            "-job_orchestrator_name",
            "core_count",
            "-core_count",
            "memory_for_jobs",
            "-memory_for_jobs",
            "version",
            "-version",
            "hyperscale_instance_id",
            "-hyperscale_instance_id",
            "hyperscale_instance_name",
            "-hyperscale_instance_name",
            "is_containerized",
            "-is_containerized"
          ],
          "nullable": true,
          "example": "name"
        }
      },
      "offsetParam": {
        "name": "offset",
        "in": "query",
        "required": false,
        "schema": {
          "type": "integer"
        }
      },
      "pageSizeParam": {
        "name": "pageSize",
        "in": "query",
        "required": false,
        "schema": {
          "type": "integer"
        }
      },
      "logFileNumberParam": {
        "name": "logFileNumber",
        "in": "query",
        "required": false,
        "schema": {
          "type": "integer"
        }
      },
      "timestampParam": {
        "name": "timestamp",
        "in": "query",
        "required": false,
        "schema": {
          "type": "string",
          "format": "date-time"
        }
      },
      "compliancePasswordVaultIdParam": {
        "in": "path",
        "name": "compliancePasswordVaultId",
        "schema": {
          "type": "string",
          "minLength": 1
        },
        "required": true,
        "description": "The ID of the Compliance Password Vault."
      },
      "complianceCredentialPathIdParam": {
        "in": "path",
        "name": "complianceCredentialPathId",
        "schema": {
          "type": "string",
          "minLength": 1
        },
        "required": true,
        "description": "The ID of the Compliance Credential Path."
      },
      "compliancePasswordVaultsSortParam": {
        "name": "sort",
        "in": "query",
        "description": "The field to sort results by. A property name with a prepended '-' signifies a descending order.",
        "required": false,
        "schema": {
          "type": "string",
          "enum": [
            "id",
            "-id",
            "name",
            "-name",
            "vault_type",
            "-vault_type",
            "description",
            "-description",
            "account_id",
            "-account_id",
            "account_name",
            "-account_name",
            "creation_date",
            "-creation_date"
          ],
          "nullable": true,
          "example": "name"
        }
      },
      "complianceCredentialPathsSortParam": {
        "name": "sort",
        "in": "query",
        "description": "The field to sort results by. A property name with a prepended '-' signifies a descending order.",
        "required": false,
        "schema": {
          "type": "string",
          "enum": [
            "id",
            "-id",
            "name",
            "-name",
            "description",
            "-description",
            "password_vault_id",
            "-password_vault_id",
            "account_id",
            "-account_id",
            "account_name",
            "-account_name",
            "creation_date",
            "-creation_date"
          ],
          "nullable": true,
          "example": "name"
        }
      }
    },
    "schemas": {
      "AlgorithmField": {
        "description": "The algorithm field details for a multi-column/multi-condition algorithm",
        "type": "object",
        "properties": {
          "id": {
            "description": "The id of the algorithm field.",
            "type": "string",
            "example": "20b4692e-381d-40a0-a46e-0ba7658acaf3",
            "readOnly": true
          },
          "name": {
            "description": "The name of the algorithm field.",
            "type": "string",
            "example": "ADDRESS_LINE1",
            "readOnly": true
          },
          "type": {
            "description": "The type of algorithm field.",
            "type": "string",
            "enum": [
              "BIG_DECIMAL",
              "LOCAL_DATE_TIME",
              "STRING",
              "BYTE_BUFFER"
            ],
            "example": "STRING",
            "readOnly": true
          },
          "is_read_only": {
            "description": "Indicates whether the field is read-only. Read-only fields are taken as input by the masking algorithm but not masked.",
            "type": "boolean",
            "readOnly": true
          },
          "is_optional": {
            "description": "Indicates whether the field is optional. Optional fields do not have to be assigned to a real data field or column in order for a masking assignment to be considered valid.",
            "type": "boolean",
            "readOnly": true
          },
          "description": {
            "description": "The description of the algorithm field.",
            "type": "string",
            "readOnly": true
          }
        }
      },
      "Job": {
        "description": "An asynchronous task.",
        "type": "object",
        "properties": {
          "id": {
            "description": "The Job entity ID.",
            "type": "string",
            "example": "job-123"
          },
          "status": {
            "description": "The status of the job.",
            "type": "string",
            "enum": [
              "PENDING",
              "STARTED",
              "TIMEDOUT",
              "RUNNING",
              "CANCELED",
              "FAILED",
              "SUSPENDED",
              "WAITING",
              "COMPLETED",
              "ABANDONED"
            ],
            "example": "RUNNING"
          },
          "is_waiting_for_telemetry": {
            "description": "Indicates that the operations performed by this Job have completed successfully, but the object changes are not yet reflected. This is only set when when the JOB is in STARTED status, with the guarantee that the job will not transition to the FAILED status. Note that this flag will likely be replaced with a new status in future API versions and be deprecated.",
            "type": "boolean"
          },
          "type": {
            "description": "The type of job being done.",
            "type": "string",
            "example": "DB_REFRESH"
          },
          "localized_type": {
            "description": "The i18n translated type of job being done.",
            "type": "string",
            "example": "DB Refresh"
          },
          "error_details": {
            "description": "Details about the failure for FAILED jobs.",
            "type": "string",
            "example": "Unable to connect to the engine."
          },
          "warning_message": {
            "description": "Warnings for the job.",
            "type": "string",
            "example": "Failed to remove local MaskingJob, engineId: 3 localMaskingJobId: 7."
          },
          "target_id": {
            "description": "A reference to the job's target.",
            "type": "string",
            "example": "vdb-123"
          },
          "target_name": {
            "description": "A reference to the job's target name.",
            "type": "string",
            "example": "vdb"
          },
          "work_source_id": {
            "description": "The ID of the entity that initiated this job (e.g. a policy ID), if applicable.",
            "type": "string",
            "nullable": true
          },
          "work_source_name": {
            "description": "The name of the entity that initiated this job, if applicable.",
            "type": "string",
            "nullable": true
          },
          "work_source_type": {
            "description": "The origin of the operation that created this job. Null for DCT-initiated operations (attributed via account_id). DIRECT means the action was performed directly on the engine, bypassing DCT; POLICY means an automated policy triggered it; SYSTEM means it was engine-internal.",
            "type": "string",
            "enum": [
              "DIRECT",
              "POLICY",
              "SYSTEM"
            ],
            "nullable": true
          },
          "start_time": {
            "description": "The time the job started executing.",
            "type": "string",
            "format": "date-time",
            "example": "2022-01-02T05:11:24.148000+00:00"
          },
          "update_time": {
            "description": "The time the job was last updated.",
            "type": "string",
            "format": "date-time",
            "example": "2022-01-02T06:11:24.148000+00:00"
          },
          "trace_id": {
            "description": "traceId of the request which created this Job",
            "type": "string"
          },
          "engine_ids": {
            "description": "IDs of the engines this Job is executing on.",
            "type": "array",
            "items": {
              "type": "string"
            },
            "deprecated": true
          },
          "tags": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Tag"
            }
          },
          "engines": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Engine"
            }
          },
          "account_id": {
            "description": "The ID of the account who initiated this job.",
            "type": "integer",
            "example": 1
          },
          "account_name": {
            "description": "The account name which initiated this job. It can be either firstname and lastname combination or firstname or lastname or username or email address or Account-<id>.",
            "type": "string",
            "example": "User 1"
          },
          "compliance_node_id": {
            "type": "string",
            "description": "The ID of the associated compliance node, if applicable.",
            "nullable": true
          },
          "compliance_node_name": {
            "type": "string",
            "description": "The name of the associated compliance node, if applicable.",
            "nullable": true
          },
          "percent_complete": {
            "description": "Completion percentage of the Job.",
            "type": "integer",
            "minimum": 0,
            "maximum": 100,
            "example": "50"
          },
          "virtualization_tasks": {
            "deprecated": true,
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualizationTask"
            }
          },
          "tasks": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/JobTask"
            }
          },
          "execution_id": {
            "description": "The ID of the associated masking execution, if any.",
            "type": "string",
            "nullable": true
          },
          "result_type": {
            "description": "The type of the job result. This is the type of the object present in the result.",
            "type": "string"
          },
          "result": {
            "description": "The result of the job execution. This is JSON serialized string of the result object whose type is specified by result_type property.",
            "type": "object"
          }
        }
      },
      "ComplianceApplicationSetting": {
        "title": "ComplianceApplicationSetting",
        "type": "object",
        "description": "An application setting of a compliance engine.",
        "properties": {
          "id": {
            "description": "The ID of the application setting.",
            "type": "string",
            "example": "5835c60d-2155-1234-8c54-b4dff23d89c5"
          },
          "group": {
            "description": "The group of the application setting.",
            "type": "string",
            "example": "general"
          },
          "name": {
            "description": "The name of the application setting.",
            "type": "string",
            "example": "PasswordResetLinkDuration"
          },
          "value": {
            "description": "The value of the application setting.",
            "type": "string",
            "example": "5"
          },
          "value_type": {
            "description": "The type of the value of the application setting.",
            "type": "string",
            "enum": [
              "string",
              "number",
              "boolean",
              "regular-expression"
            ],
            "example": "number"
          }
        }
      },
      "ComplianceApplicationSettingUpdateRequest": {
        "title": "ComplianceApplicationSettingUpdateRequest",
        "type": "object",
        "description": "Request to update an application setting value.",
        "required": [
          "setting_value"
        ],
        "properties": {
          "setting_value": {
            "description": "The new value for the application setting.",
            "type": "string",
            "example": "10"
          }
        }
      },
      "MaskingJobWithConnectorRole": {
        "description": "A simplified job object combined with a connector ID and the connector's role in that job",
        "type": "object",
        "properties": {
          "id": {
            "description": "The Job entity ID.",
            "type": "string",
            "example": "job-123"
          },
          "name": {
            "description": "The name of this Masking Job.",
            "type": "string",
            "example": "My favorite MaskingJob"
          },
          "creation_date": {
            "description": "The date this MaskingJob was created.",
            "type": "string",
            "format": "date-time",
            "example": "2022-11-30T08:51:34.148000+00:00"
          },
          "is_on_the_fly_masking": {
            "description": "Whether the job is an on-the-fly masking job",
            "type": "boolean"
          },
          "last_execution_time": {
            "description": "The start time of the most recent execution of this job, if available",
            "type": "string",
            "format": "date-time"
          },
          "last_execution_status": {
            "$ref": "#/components/schemas/ExecutionStatus"
          },
          "tags": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Tag"
            }
          },
          "connector_id": {
            "description": "The ID of the connector this job is related to",
            "type": "string",
            "nullable": true
          },
          "connector_role": {
            "description": "The role of the connector in the job",
            "type": "string",
            "enum": [
              "SOURCE",
              "TARGET"
            ],
            "nullable": false
          }
        }
      },
      "VirtualizationTask": {
        "deprecated": true,
        "properties": {
          "id": {
            "type": "string"
          },
          "parent_job_id": {
            "type": "string"
          },
          "start_time": {
            "type": "string",
            "format": "date-time"
          },
          "end_time": {
            "type": "string",
            "format": "date-time"
          },
          "title": {
            "type": "string"
          },
          "percent_complete": {
            "type": "integer",
            "minimum": 0,
            "maximum": 100
          },
          "events": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualizationTaskEvent"
            }
          },
          "status": {
            "type": "string",
            "enum": [
              "PENDING",
              "STARTED",
              "TIMEDOUT",
              "RUNNING",
              "CANCELED",
              "FAILED",
              "SUSPENDED",
              "WAITING",
              "COMPLETED",
              "ABANDONED"
            ]
          }
        }
      },
      "VirtualizationTaskEvent": {
        "deprecated": true,
        "properties": {
          "message_details": {
            "type": "string"
          },
          "message_action": {
            "type": "string"
          },
          "message_command_output": {
            "type": "string"
          }
        }
      },
      "JobTask": {
        "properties": {
          "id": {
            "type": "string"
          },
          "parent_job_id": {
            "type": "string"
          },
          "start_time": {
            "type": "string",
            "format": "date-time"
          },
          "end_time": {
            "type": "string",
            "format": "date-time"
          },
          "title": {
            "type": "string"
          },
          "percent_complete": {
            "type": "integer",
            "minimum": 0,
            "maximum": 100
          },
          "events": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/JobTaskEvent"
            }
          },
          "status": {
            "type": "string",
            "enum": [
              "PENDING",
              "STARTED",
              "TIMEDOUT",
              "RUNNING",
              "CANCELED",
              "FAILED",
              "SUSPENDED",
              "WAITING",
              "COMPLETED",
              "ABANDONED"
            ]
          }
        }
      },
      "JobTaskEvent": {
        "properties": {
          "message_details": {
            "type": "string"
          },
          "message_action": {
            "type": "string"
          },
          "message_command_output": {
            "type": "string"
          },
          "timestamp": {
            "type": "string",
            "format": "date-time",
            "description": "When this specific event occurred. Absent/null for events persisted before this field was added (no backfill) and for any producer not yet updated to set it."
          }
        }
      },
      "Engine": {
        "properties": {
          "engine_id": {
            "type": "string",
            "minLength": 1,
            "maxLength": 4000
          },
          "engine_name": {
            "type": "string",
            "minLength": 1,
            "maxLength": 4000
          }
        }
      },
      "DataRiskReportTotals": {
        "description": "The global totals of masking data risk metrics across all connectors.",
        "type": "object",
        "properties": {
          "connector_total": {
            "description": "The total number of connectors.",
            "type": "integer",
            "format": "int64",
            "example": 10
          },
          "profiled_connector_count": {
            "description": "The number of connectors that have been profiled.",
            "type": "integer",
            "format": "int64",
            "example": 8
          },
          "sensitive_connector_count": {
            "description": "The number of connectors found to have sensitive data.",
            "type": "integer",
            "format": "int64",
            "example": 5
          },
          "masked_connector_count": {
            "description": "The number of connectors having had a successfully run masking job.",
            "type": "integer",
            "format": "int64",
            "example": 3
          },
          "at_risk_connector_count": {
            "description": "The number of connectors with sensitive data that have not been masked.",
            "type": "integer",
            "format": "int64",
            "example": 2
          },
          "data_elements_total": {
            "description": "The total number of data elements across connectors.",
            "type": "integer",
            "format": "int64",
            "example": 1000
          },
          "data_elements_not_sensitive": {
            "description": "The number of data elements categorized as not sensitive.",
            "type": "integer",
            "format": "int64",
            "example": 400
          },
          "data_elements_sensitive_masked": {
            "description": "The number of sensitive data elements that have been masked.",
            "type": "integer",
            "format": "int64",
            "example": 500
          },
          "data_elements_sensitive_unmasked": {
            "description": "The number of sensitive data elements that have not been masked.",
            "type": "integer",
            "format": "int64",
            "example": 100
          },
          "records_total": {
            "description": "The total number of records across connectors.",
            "type": "integer",
            "format": "int64",
            "example": 10000
          },
          "records_not_sensitive": {
            "description": "The number of records found to be not sensitive.",
            "type": "integer",
            "format": "int64",
            "example": 4000
          },
          "records_sensitive_masked": {
            "description": "The number of sensitive records that have been masked.",
            "type": "integer",
            "format": "int64",
            "example": 5000
          },
          "records_sensitive_unmasked": {
            "description": "The number of sensitive records that have not been masked.",
            "type": "integer",
            "format": "int64",
            "example": 1000
          },
          "records_coverage_missing_reason": {
            "description": "An explanation if the records coverage is not provided.",
            "type": "string"
          }
        }
      },
      "MaskingFileUploadUpdateParameters": {
        "description": "Parameters to update a masking engine",
        "type": "object",
        "required": [
          "description"
        ],
        "properties": {
          "description": {
            "description": "A description for this masking file.",
            "type": "string"
          }
        }
      },
      "Algorithm": {
        "description": "A masking algorithm.",
        "type": "object",
        "properties": {
          "id": {
            "description": "The algorithm entity ID.",
            "type": "string",
            "example": "a638d976-6b7e-43f4-9212-90f4dc6d405c"
          },
          "name": {
            "description": "The name of this algorithm.",
            "type": "string",
            "example": "Address"
          },
          "description": {
            "description": "A description of this algorithm.",
            "type": "string",
            "nullable": true
          },
          "plugin_name": {
            "description": "The name of the plugin that this algorithm belongs to.",
            "type": "string",
            "example": "dlpx-core"
          },
          "plugin_id": {
            "description": "The id of the plugin that this algorithm belongs to.",
            "type": "string",
            "example": "a638d976-6b7e-43f4-9212-90f4dc6d405c"
          },
          "framework_name": {
            "description": "The name of the framework that this algorithm belongs to.",
            "type": "string",
            "example": "Secure Lookup"
          },
          "framework_id": {
            "description": "The id of the framework that this algorithm belongs to.",
            "type": "string",
            "example": "a638d976-6b7e-43f4-9212-90f4dc6d405c"
          },
          "engine_name": {
            "description": "The name of the origin engine that this algorithm belongs to.",
            "type": "string",
            "example": "Compliance Engine 1"
          },
          "engine_id": {
            "description": "The id of the origin engine that this algorithm belongs to.",
            "type": "string",
            "example": "a638d976-6b7e-43f4-9212-90f4dc6d405c"
          },
          "revision_hash": {
            "description": "The export revision hash of this algorithm from the source engine.",
            "type": "string",
            "example": "90f4dc6d405c"
          },
          "config": {
            "description": "The configuration of this algorithm.",
            "type": "object",
            "additionalProperties": true
          },
          "create_date": {
            "description": "The date and time this algorithm was created.",
            "type": "string",
            "format": "date-time",
            "example": "2022-11-30T08:51:34.148000+00:00"
          },
          "account_id": {
            "description": "The ID of the account who created this algorithm.",
            "type": "integer",
            "format": "int64",
            "readOnly": true,
            "example": 1
          },
          "account_name": {
            "description": "The account name of the DCT user who created this algorithm.",
            "type": "string",
            "readOnly": true,
            "example": "John Doe"
          },
          "dct_managed": {
            "description": "Whether this algorithm is managed by DCT or not.",
            "type": "boolean",
            "readOnly": true
          },
          "config_invalid": {
            "description": "Whether this algorithm has invalid configuration. Config may become invalid following a DCT upgrade due to changes in the plugin. This field is only applicable to DCT managed algorithms.",
            "type": "boolean",
            "readOnly": true
          },
          "is_default_instance": {
            "description": "Whether this algorithm is defined in the plugin.",
            "type": "boolean",
            "readOnly": true
          },
          "is_tokenization_supported": {
            "description": "Whether this algorithm supports tokenization (re-identification). Depends on the algorithm configuration.",
            "type": "boolean",
            "readOnly": true,
            "nullable": true
          },
          "can_return_null": {
            "description": "Whether this algorithm (or any of its dependencies) may return a null value.",
            "type": "boolean",
            "readOnly": true
          },
          "fields": {
            "description": "The list of fields if it is a multi-column/multi-condition algorithm.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AlgorithmField"
            }
          },
          "tags": {
            "description": "The tags of this algorithm.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Tag"
            }
          },
          "mappings_status": {
            "description": "Sync state for migrated mapping algorithms. NOT_SYNCED means the algorithm was imported but mapping data has not yet been pulled (local) or remote credentials have not been provided. SYNCING means a sync job is in progress. SYNCED means data is available. FAILED means the last sync attempt failed; see status_detail. Absent for native DCT algorithms and non-mapping algorithms.",
            "type": "string",
            "enum": [
              "NOT_SYNCED",
              "SYNCING",
              "SYNCED",
              "FAILED"
            ],
            "readOnly": true,
            "nullable": true
          },
          "status_detail": {
            "description": "Human-readable failure reason when mappings_status is FAILED (e.g. \"poll timeout\"). Null when status is NOT_SYNCED, SYNCING, or SYNCED.",
            "type": "string",
            "readOnly": true,
            "nullable": true
          },
          "mapping_is_remote": {
            "description": "True if this is a remote mapping algorithm, whose mapping data lives in a customer-provided external database and requires credential completion via PATCH /algorithms/{algorithmId}. False for local mapping algorithms, whose data is pulled into DCT's own mapping store via POST /algorithms/{algorithmId}/mappings/sync. Absent for non-mapping algorithms.",
            "type": "boolean",
            "readOnly": true,
            "nullable": true
          }
        }
      },
      "ComplianceNode": {
        "description": "A compliance node.",
        "type": "object",
        "properties": {
          "id": {
            "description": "The unique identifier of the compliance node.",
            "type": "string",
            "example": "a1b2c3d4-e5f6-7890-1234-567890abcdef"
          },
          "name": {
            "description": "The name of the compliance node.",
            "type": "string",
            "example": "My Compliance Node"
          },
          "hostname": {
            "description": "The hostname of the compliance node.",
            "type": "string",
            "example": "compliance.example.com"
          },
          "insecure_ssl": {
            "description": "Allow connections to the compliance node over HTTPs without validating the TLS certificate. Even though\nthe connection to the compliance node might be performed over HTTPs, setting this property eliminates\nthe protection against a man-in-the-middle attach for connections to this node. Instead,\nconsider configuring DCT with Certificate Authority certificates.\n",
            "type": "boolean",
            "default": false,
            "example": false
          },
          "unsafe_ssl_hostname_check": {
            "description": "Ignore validation of the name associated to the TLS certificate when connecting to the compliance node over HTTPs.\nSetting this value must only be done if the TLS certificate of the compliance node does not match the hostname,\nand the TLS configuration of the compliance node cannot be fixed. Setting this property reduces the protection\nagainst a man-in-the-middle attack for connections to this compliance node.\nThis is ignored if insecure_ssl is set.\n",
            "type": "boolean",
            "default": false,
            "example": false
          },
          "username": {
            "description": "The username for connecting to the compliance node.",
            "type": "string",
            "example": "user1"
          },
          "password": {
            "x-dct-toolkit-credential-field": true,
            "description": "The password for connecting to the compliance node.",
            "type": "string",
            "example": "secret"
          },
          "creation_date": {
            "description": "The date and time when the compliance node was created.",
            "type": "string",
            "readOnly": true,
            "format": "date-time",
            "example": "2024-06-01T08:51:34.148000+00:00"
          },
          "account_id": {
            "description": "The ID of the account associated with the compliance node.",
            "type": "integer",
            "format": "int64",
            "readOnly": true,
            "example": 1
          },
          "account_name": {
            "description": "The account name of the DCT user who created this compliance node.",
            "type": "string",
            "readOnly": true,
            "example": "username"
          },
          "status": {
            "description": "The status of the compliance node.",
            "type": "string",
            "readOnly": true,
            "enum": [
              "ONLINE",
              "CONNECTION_ERROR",
              "BAD_CREDENTIALS"
            ],
            "example": "ONLINE"
          },
          "status_details": {
            "type": "string",
            "readOnly": true,
            "description": "Additional details about the status of the compliance node.",
            "example": "Connection successful"
          },
          "job_orchestrator_id": {
            "description": "The job orchestrator id associated with the compliance node.",
            "type": "string",
            "example": "f8e7d6c5-b4a3-2109-8765-43210fedcba9"
          },
          "job_orchestrator_name": {
            "description": "The job orchestrator name associated with the compliance node.",
            "type": "string",
            "example": "Job Orchestrator"
          },
          "core_count": {
            "description": "The number of CPU cores available on the compliance node.",
            "type": "integer",
            "readOnly": true,
            "example": 8
          },
          "memory_for_jobs": {
            "description": "The amount of memory (in MB) available for jobs on the compliance node.",
            "type": "number",
            "readOnly": true,
            "example": 16384
          },
          "version": {
            "description": "The version of the compliance node.",
            "type": "string",
            "readOnly": true,
            "example": "1.0.0"
          },
          "api_version": {
            "description": "The API version of the compliance node.",
            "type": "string",
            "readOnly": true,
            "example": "v1"
          },
          "is_containerized": {
            "description": "Whether the compliance node is running in a containerized environment.",
            "type": "boolean",
            "nullable": true,
            "readOnly": true
          },
          "hyperscale_instance_id": {
            "description": "The ID of the hyperscale instance associated with the compliance node.",
            "type": "string",
            "nullable": true,
            "example": "f8e7d6c5-b4a3-2109-8765-43210fedcba9"
          },
          "hyperscale_instance_name": {
            "description": "The name of the hyperscale instance associated with the compliance node.",
            "type": "string",
            "nullable": true,
            "example": "Hyperscale Orchestrator"
          }
        }
      },
      "MoveComplianceNodesToHyperscaleRequest": {
        "description": "Parameters to move compliance nodes from a job orchestrator to a hyperscale orchestrator.",
        "type": "object",
        "required": [
          "compliance_node_ids",
          "hyperscale_instance_id"
        ],
        "properties": {
          "compliance_node_ids": {
            "description": "List of compliance node IDs to move.",
            "type": "array",
            "items": {
              "type": "string"
            },
            "example": [
              "node-101",
              "node-102",
              "node-103"
            ]
          },
          "hyperscale_instance_id": {
            "description": "The ID of the target hyperscale instance to move the compliance nodes to.",
            "type": "string",
            "example": "f8e7d6c5-b4a3-2109-8765-43210fedcba9"
          }
        }
      },
      "MoveComplianceNodesToJobOrchestratorRequest": {
        "description": "Parameters to move compliance nodes from a hyperscale orchestrator to a job orchestrator.",
        "type": "object",
        "required": [
          "compliance_node_ids",
          "job_orchestrator_id"
        ],
        "properties": {
          "compliance_node_ids": {
            "description": "List of compliance node IDs to move.",
            "type": "array",
            "items": {
              "type": "string"
            },
            "example": [
              "node-101",
              "node-102",
              "node-103"
            ]
          },
          "job_orchestrator_id": {
            "description": "The ID of the target job orchestrator to move the compliance nodes to.",
            "type": "string",
            "example": "f8e7d6c5-b4a3-2109-8765-43210fedcba9"
          }
        }
      },
      "MoveComplianceNodesResponse": {
        "description": "Response for compliance node movement operations.",
        "type": "object",
        "properties": {
          "job": {
            "$ref": "#/components/schemas/Job",
            "description": "The Job tracking the compliance node movement."
          }
        }
      },
      "ComplianceNodeRegisterRequest": {
        "description": "Parameters to register a compliance node.",
        "type": "object",
        "required": [
          "name",
          "hostname",
          "username",
          "password",
          "job_orchestrator_id"
        ],
        "properties": {
          "name": {
            "description": "The name of the compliance node.",
            "type": "string",
            "example": "My Compliance Node"
          },
          "hostname": {
            "description": "The hostname of the compliance node.",
            "type": "string",
            "example": "compliance.example.com"
          },
          "insecure_ssl": {
            "description": "Allow connections to the compliance node over HTTPs without validating the TLS certificate. Even though\nthe connection to the compliance node might be performed over HTTPs, setting this property eliminates\nthe protection against a man-in-the-middle attach for connections to this node. Instead,\nconsider configuring DCT with Certificate Authority certificates.\n",
            "type": "boolean",
            "default": false,
            "example": false
          },
          "unsafe_ssl_hostname_check": {
            "description": "Ignore validation of the name associated to the TLS certificate when connecting to the compliance node over HTTPs.\nSetting this value must only be done if the TLS certificate of the compliance node does not match the hostname,\nand the TLS configuration of the compliance node cannot be fixed. Setting this property reduces the protection\nagainst a man-in-the-middle attack for connections to this compliance node.\nThis is ignored if insecure_ssl is set.\n",
            "type": "boolean",
            "default": false,
            "example": false
          },
          "username": {
            "description": "The username for connecting to the compliance node.",
            "type": "string",
            "example": "user1"
          },
          "password": {
            "x-dct-toolkit-credential-field": true,
            "description": "The password for connecting to the compliance node.",
            "type": "string",
            "example": "secret"
          },
          "job_orchestrator_id": {
            "description": "The job orchestrator id associated with the compliance node.",
            "type": "string",
            "example": "f8e7d6c5-b4a3-2109-8765-43210fedcba9"
          },
          "hyperscale_instance_id": {
            "description": "The ID of the Hyperscale Instance to associate the compliance node with. Must belong to the same Job Orchestrator.",
            "type": "string",
            "example": "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
          }
        }
      },
      "ComplianceNodeUpdateRequest": {
        "description": "Parameters to update a compliance node.",
        "type": "object",
        "properties": {
          "name": {
            "description": "The name of the compliance node.",
            "type": "string",
            "example": "My Compliance Node"
          },
          "hostname": {
            "description": "The hostname of the compliance node.",
            "type": "string",
            "example": "compliance.example.com"
          },
          "username": {
            "description": "The username for connecting to the compliance node.",
            "type": "string",
            "example": "user1"
          },
          "password": {
            "x-dct-toolkit-credential-field": true,
            "description": "The password for connecting to the compliance node.",
            "type": "string",
            "example": "secret"
          },
          "insecure_ssl": {
            "description": "Allow connections to the compliance node over HTTPs without validating the TLS certificate. Even though\nthe connection to the compliance node might be performed over HTTPs, setting this property eliminates\nthe protection against a man-in-the-middle attach for connections to this node. Instead,\nconsider configuring DCT with Certificate Authority certificates.\n",
            "type": "boolean",
            "example": false
          },
          "unsafe_ssl_hostname_check": {
            "description": "Ignore validation of the name associated to the TLS certificate when connecting to the compliance node over HTTPs.\nSetting this value must only be done if the TLS certificate of the compliance node does not match the hostname,\nand the TLS configuration of the compliance node cannot be fixed. Setting this property reduces the protection\nagainst a man-in-the-middle attack for connections to this compliance node.\nThis is ignored if insecure_ssl is set.\n",
            "type": "boolean",
            "example": false
          }
        }
      },
      "Classifier": {
        "description": "A classifier.",
        "type": "object",
        "properties": {
          "id": {
            "description": "The classifier ID.",
            "type": "string",
            "example": "a638d976-6b7e-43f4-9212-90f4dc6d405c"
          },
          "name": {
            "description": "The name of this classifier.",
            "type": "string",
            "example": "City"
          },
          "framework": {
            "description": "The framework of this classifier.",
            "type": "string",
            "enum": [
              "REGEX",
              "LIST",
              "PATH",
              "DATA_TYPE"
            ],
            "example": "REGEX"
          },
          "description": {
            "description": "A description of this classifier.",
            "type": "string",
            "nullable": true
          },
          "dct_managed": {
            "description": "Whether or not this classifier is managed by DCT.",
            "type": "boolean",
            "readOnly": true
          },
          "account_id": {
            "description": "The ID of the account who created this classifier.",
            "type": "integer",
            "format": "int64",
            "readOnly": true
          },
          "account_name": {
            "description": "The account name of the DCT user who created this classifier.",
            "type": "string",
            "readOnly": true,
            "example": "username"
          },
          "data_class_id": {
            "description": "The id of the data class associated with this classifier.",
            "type": "string",
            "example": "6b5c4d3e-2a1b-4c3d-5e6f-7a8b9c0d1e2f"
          },
          "data_class_name": {
            "description": "The name of the data class associated with this classifier.",
            "type": "string",
            "example": "My Domain"
          },
          "config": {
            "description": "The configuration of this algorithm.",
            "type": "object",
            "additionalProperties": true
          },
          "engine_id": {
            "description": "The ID of the engine this classifier originated from.",
            "type": "string",
            "nullable": true
          },
          "engine_name": {
            "description": "The name of the engine this classifier originated from.",
            "type": "string",
            "nullable": true
          },
          "built_in": {
            "description": "Whether this classifier is built-in or user-defined.",
            "type": "boolean",
            "readOnly": true
          },
          "tags": {
            "description": "The tags of this classifier.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Tag"
            }
          }
        }
      },
      "ClassifierCreateRequest": {
        "description": "Parameters used to create a classifier.",
        "type": "object",
        "required": [
          "name",
          "framework",
          "config",
          "data_class_id"
        ],
        "properties": {
          "name": {
            "description": "The name of this classifier.",
            "type": "string"
          },
          "framework": {
            "description": "The framework of this classifier.",
            "type": "string",
            "enum": [
              "REGEX",
              "PATH",
              "LIST",
              "DATA_TYPE"
            ]
          },
          "description": {
            "description": "Classifier description.",
            "type": "string"
          },
          "config": {
            "description": "The configuration of this classifier.",
            "type": "object",
            "additionalProperties": true
          },
          "data_class_id": {
            "description": "The ID of the data class associated with this classifier.",
            "type": "string"
          },
          "make_current_account_owner": {
            "description": "Whether the account creating this classifier must be configured as owner of it.",
            "type": "boolean",
            "default": true
          },
          "tags": {
            "description": "The tags for this classifier.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Tag"
            }
          }
        }
      },
      "ClassifierUpdateRequest": {
        "description": "Parameters used to update a classifier.",
        "type": "object",
        "properties": {
          "name": {
            "description": "The name of this classifier.",
            "type": "string"
          },
          "framework": {
            "description": "The framework of this classifier.",
            "type": "string",
            "enum": [
              "REGEX",
              "PATH",
              "LIST",
              "DATA_TYPE"
            ]
          },
          "description": {
            "description": "Classifier description.",
            "type": "string"
          },
          "config": {
            "description": "The configuration of this classifier.",
            "type": "object",
            "additionalProperties": true
          },
          "data_class_id": {
            "description": "The ID of the data class associated with this classifier.",
            "type": "string"
          }
        }
      },
      "Dependency": {
        "description": "A dependency relationship.",
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Unique ID for this Dependency."
          },
          "child_id": {
            "description": "The ID of the child entity.",
            "type": "string",
            "example": "aec2d976-6b7e-43f4-9212-90f4dc6e324fff"
          },
          "child_name": {
            "description": "The name of the child entity.",
            "type": "string",
            "example": "My File"
          },
          "child_type": {
            "description": "The type of the child entity.",
            "type": "string",
            "example": "MASKING_FILE_UPLOAD"
          }
        }
      },
      "DataClass": {
        "description": "A data class.",
        "type": "object",
        "properties": {
          "id": {
            "description": "The data class ID.",
            "type": "string",
            "example": "a638d976-6b7e-43f4-9212-90f4dc6d405c"
          },
          "name": {
            "description": "The name of this data class.",
            "type": "string",
            "example": "Account Number"
          },
          "description": {
            "description": "A description of this data class.",
            "type": "string",
            "nullable": true
          },
          "default_algorithm_id": {
            "description": "The ID of the default masking algorithm for this data class.",
            "type": "string",
            "nullable": true,
            "example": "a638d976-6b7e-43f4-9212-90f4dc6d405c"
          },
          "default_algorithm_name": {
            "description": "The name of the default masking algorithm for this data class.",
            "type": "string",
            "nullable": true,
            "example": "alg1"
          },
          "default_token_algorithm_id": {
            "description": "The ID of the default tokenization algorithm for this data class.",
            "type": "string",
            "nullable": true,
            "example": "a638d976-6b7e-43f4-9212-90f4dc6d405c"
          },
          "default_token_algorithm_name": {
            "description": "The default tokenization algorithm for this data class.",
            "type": "string",
            "nullable": true,
            "example": "alg2"
          },
          "algorithm_ids": {
            "deprecated": true,
            "description": "The list of algorithm IDs available for this data class.",
            "type": "array",
            "items": {
              "type": "string"
            },
            "example": [
              "a638d976-6b7e-43f4-9212-90f4dc6d405c",
              "414ed52c-fa89-455d-9fb9-9c2fa5115f80"
            ]
          },
          "algorithms": {
            "description": "The list of algorithm IDs and names available for this data class.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DataClassAlgorithmInfo"
            }
          },
          "example": {
            "description": "An example data value for this data class.",
            "type": "string",
            "maxLength": 200,
            "nullable": true
          },
          "revision_hash": {
            "description": "The export revision hash of this data class from the source engine.",
            "type": "string",
            "nullable": true,
            "example": "6e0509df463cf714b2697ccf2f8ac972970021d1"
          },
          "engine_id": {
            "description": "The ID of the engine that this data class originated from.",
            "type": "string",
            "nullable": true
          },
          "engine_name": {
            "description": "The name of the engine that this data class originated from.",
            "type": "string",
            "nullable": true
          },
          "creation_date": {
            "type": "string",
            "readOnly": true,
            "description": "The date this data class was created.",
            "format": "date-time",
            "example": "2022-11-30T08:51:34.148000+00:00"
          },
          "account_id": {
            "description": "The ID of the account who created this data class.",
            "type": "integer",
            "format": "int64",
            "readOnly": true,
            "example": 1
          },
          "account_name": {
            "description": "The account name of the DCT user who created this data class.",
            "type": "string",
            "readOnly": true,
            "example": "username"
          },
          "dct_managed": {
            "description": "Whether this data class is managed by DCT or not.",
            "type": "boolean",
            "readOnly": true
          },
          "built_in": {
            "description": "Whether this data class is built-in or user-defined.",
            "type": "boolean",
            "readOnly": true
          },
          "tags": {
            "description": "The tags of this data class.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Tag"
            }
          }
        }
      },
      "DataClassAlgorithmInfo": {
        "description": "Information about a data class algorithm.",
        "type": "object",
        "properties": {
          "id": {
            "description": "The algorithm ID.",
            "type": "string",
            "example": "a638d976-6b7e-43f4-9212-90f4dc6d405c"
          },
          "name": {
            "description": "The algorithm name.",
            "type": "string",
            "example": "Masking Algorithm"
          },
          "masking_type": {
            "description": "The masking type of the algorithm.",
            "$ref": "#/components/schemas/MaskingTypeEnum"
          },
          "fields": {
            "description": "The list of fields if it is a multi-column/multi-condition algorithm.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AlgorithmField"
            }
          }
        }
      },
      "DataClassCreateRequest": {
        "description": "Parameters used to create a Data Class.",
        "type": "object",
        "properties": {
          "name": {
            "description": "The name of this data class.",
            "type": "string",
            "example": "Account Number"
          },
          "default_algorithm_id": {
            "description": "The ID of the default masking algorithm for this data class.",
            "type": "string",
            "example": "a638d976-6b7e-43f4-9212-90f4dc6d405c"
          },
          "default_token_algorithm_id": {
            "description": "The ID of the default tokenization algorithm for this data class.",
            "type": "string",
            "nullable": true,
            "example": "a638d976-6b7e-43f4-9212-90f4dc6d405c"
          },
          "algorithm_ids": {
            "description": "The list of algorithm IDs available for this data class.",
            "type": "array",
            "maxItems": 500,
            "uniqueItems": true,
            "items": {
              "type": "string"
            },
            "example": [
              "a638d976-6b7e-43f4-9212-90f4dc6d405c",
              "414ed52c-fa89-455d-9fb9-9c2fa5115f80"
            ]
          },
          "description": {
            "description": "A description of this data class.",
            "type": "string",
            "nullable": true,
            "example": "This data class is used for account numbers."
          },
          "example": {
            "description": "An example data value for this data class.",
            "type": "string",
            "maxLength": 200,
            "nullable": true,
            "example": "abc-123"
          },
          "tags": {
            "description": "The tags for this data class.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Tag"
            }
          },
          "make_current_account_owner": {
            "type": "boolean",
            "default": true,
            "description": "Whether the account creating this data class must be configured as owner of it."
          }
        }
      },
      "DataClassUpdateRequest": {
        "description": "Parameters used to update a Data Class.",
        "type": "object",
        "properties": {
          "name": {
            "description": "The name of this data class.",
            "type": "string",
            "example": "Account Number"
          },
          "default_algorithm_id": {
            "description": "The ID of the default masking algorithm for this data class.",
            "type": "string",
            "example": "a638d976-6b7e-43f4-9212-90f4dc6d405c"
          },
          "default_token_algorithm_id": {
            "description": "The ID of the default tokenization algorithm for this data class.",
            "type": "string",
            "nullable": true,
            "example": "a638d976-6b7e-43f4-9212-90f4dc6d405c"
          },
          "description": {
            "description": "A description of this data class.",
            "type": "string",
            "nullable": true,
            "example": "This data class is used for account numbers."
          },
          "example": {
            "description": "An example data value for this data class.",
            "type": "string",
            "maxLength": 200,
            "nullable": true,
            "example": "abc-123"
          }
        }
      },
      "DiscoveryPolicy": {
        "description": "A discovery policy.",
        "type": "object",
        "properties": {
          "id": {
            "description": "The discovery policy ID.",
            "type": "string",
            "example": "a638d976-6b7e-43f4-9212-90f4dc6d405c"
          },
          "name": {
            "description": "The name of this discovery policy.",
            "type": "string",
            "example": "ASDD Standard"
          },
          "description": {
            "description": "A description of this discovery policy.",
            "type": "string",
            "nullable": true
          },
          "dct_managed": {
            "description": "Whether or not this discovery policy is managed by DCT.",
            "type": "boolean",
            "readOnly": true
          },
          "account_id": {
            "description": "The ID of the account who created this discovery policy.",
            "type": "integer",
            "format": "int64",
            "readOnly": true
          },
          "account_name": {
            "description": "The account name of the DCT user who created this discovery policy.",
            "type": "string",
            "readOnly": true,
            "example": "username"
          },
          "discovery_method": {
            "description": "The method used to discover sensitive data.",
            "type": "string",
            "enum": [
              "CLASSIFIERS",
              "EXPRESSIONS"
            ],
            "example": "CLASSIFIERS"
          },
          "assignment_threshold": {
            "description": "The confidence threshold that must be met or exceeded to make an assignment. This is an integer from 1-100.",
            "type": "integer",
            "format": "int32",
            "example": 80
          },
          "engine_id": {
            "description": "The ID of the engine that this discovery policy originated from.",
            "type": "string",
            "nullable": true
          },
          "engine_name": {
            "description": "The name of the engine that this discovery policy originated from.",
            "type": "string",
            "nullable": true
          },
          "built_in": {
            "description": "Whether this discovery policy is built-in or user-defined.",
            "type": "boolean",
            "readOnly": true
          },
          "tags": {
            "description": "The tags of this discovery policy.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Tag"
            }
          }
        }
      },
      "MaskingRuleset": {
        "description": "A masking ruleset.",
        "type": "object",
        "properties": {
          "type": {
            "description": "The Ruleset type.",
            "type": "string",
            "enum": [
              "FILE",
              "DATABASE",
              "MAINFRAME_DATASET"
            ],
            "nullable": true
          },
          "name": {
            "description": "The name of this Ruleset.",
            "type": "string"
          },
          "refresh_drops_tables": {
            "description": "Whether refresh drops tables. Only applicable to database ruleset type.",
            "type": "boolean",
            "nullable": true
          },
          "algorithms": {
            "description": "The list of algorithms for this Ruleset.",
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            }
          }
        },
        "example": {
          "type": "DATABASE",
          "name": "The best Ruleset",
          "refresh_drops_tables": true
        }
      },
      "FetchTableNamesRequest": {
        "description": "Optional parameters used when fetching table names.",
        "type": "object",
        "properties": {
          "rule_set_id": {
            "description": "If present fetches only tables names that aren't part of the given rule set.",
            "type": "string"
          }
        }
      },
      "FetchFileNamesRequest": {
        "description": "Optional parameters used when fetching file names.",
        "type": "object",
        "properties": {
          "rule_set_id": {
            "description": "If present, fetches only file names that aren't part of the given rule set.",
            "type": "string"
          }
        }
      },
      "RealignableObject": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "ID of the engine-specific copy that would be replaced."
          },
          "name": {
            "type": "string",
            "description": "Name of the engine-specific copy."
          },
          "object_type": {
            "type": "string",
            "enum": [
              "ALGORITHM",
              "DATA_CLASS"
            ],
            "description": "Whether this is an algorithm or data class."
          },
          "builtin_equivalent_id": {
            "type": "string",
            "description": "ID of the DCT built-in it would be replaced with."
          },
          "builtin_equivalent_name": {
            "type": "string",
            "description": "Name of the DCT built-in it would be replaced with."
          },
          "chained": {
            "type": "boolean",
            "description": "Whether this algorithm participates in the algorithm dependency graph (has a parent or child algorithm). Only meaningful when object_type is ALGORITHM; always false for data classes."
          },
          "used_by_rule_sets": {
            "type": "array",
            "description": "Other rule sets (excluding this one) whose configuration also uses this chained algorithm, so realigning it here would affect them too. Populated only for chained algorithms; empty otherwise.",
            "items": {
              "$ref": "#/components/schemas/RealignableObjectRuleSetRef"
            }
          }
        }
      },
      "RealignableObjectRuleSetRef": {
        "type": "object",
        "description": "A reference to a rule set that uses a realignable chained algorithm.",
        "properties": {
          "id": {
            "type": "string",
            "description": "The rule set ID."
          },
          "name": {
            "type": "string",
            "description": "The rule set name."
          }
        }
      },
      "RealignRuleSetRequest": {
        "type": "object",
        "properties": {
          "force": {
            "type": "boolean",
            "default": false,
            "description": "Acknowledge and proceed even when chained algorithms shared with other rule sets would be affected. When false (default), realignment is blocked with 409 in that case."
          }
        }
      },
      "RuleSet": {
        "description": "A masking rule set.",
        "type": "object",
        "properties": {
          "id": {
            "description": "The rule set ID.",
            "type": "string",
            "example": "a638d976-6b7e-43f4-9212-90f4dc6d405c"
          },
          "name": {
            "description": "The name of this rule set.",
            "type": "string"
          },
          "type": {
            "description": "The rule set connector type.",
            "nullable": true,
            "$ref": "#/components/schemas/ConnectorTypeEnum"
          },
          "platform": {
            "description": "The rule set connector platform.",
            "type": "string",
            "nullable": true,
            "example": "Oracle"
          },
          "connector_id": {
            "description": "The ID of the connector this rule set uses.",
            "type": "string",
            "nullable": true
          },
          "connector_name": {
            "description": "The name of the connector this rule set uses.",
            "type": "string",
            "nullable": true
          },
          "engine_id": {
            "description": "The ID of the engine this rule set originated from.",
            "type": "string",
            "nullable": true
          },
          "engine_name": {
            "description": "The name of the engine this rule set originated from.",
            "type": "string",
            "nullable": true
          },
          "data_elements_total": {
            "description": "The total number of data elements in this rule set.",
            "type": "integer",
            "format": "int64",
            "nullable": true
          },
          "data_elements_sensitive": {
            "description": "The number of sensitive data elements in this rule set.",
            "type": "integer",
            "format": "int64",
            "nullable": true
          },
          "records_total": {
            "description": "The total number of records in this rule set.",
            "type": "integer",
            "format": "int64",
            "nullable": true
          },
          "records_sensitive": {
            "description": "The number of sensitive records in this rule set.",
            "type": "integer",
            "format": "int64",
            "nullable": true
          },
          "creation_date": {
            "description": "The date this rule set was created.",
            "type": "string",
            "format": "date-time",
            "readOnly": true,
            "example": "2022-11-30T08:51:34.148000+00:00"
          },
          "account_id": {
            "description": "The ID of the account who created this rule set.",
            "type": "integer",
            "format": "int64",
            "readOnly": true,
            "example": 1
          },
          "account_name": {
            "description": "The username of the account who created this rule set.",
            "type": "string",
            "readOnly": true,
            "example": "John Doe"
          },
          "dct_managed": {
            "description": "Whether or not this rule set is managed by DCT.",
            "type": "boolean",
            "readOnly": true
          },
          "refresh_drops_tables": {
            "description": "This applies when table metadata exists in DCT, but the corresponding table no longer exists in the external database. In that event, true will cause the refresh operation to delete the invalid table metadata, whereas false will fail the refresh instead.",
            "type": "boolean",
            "example": false
          },
          "tags": {
            "description": "The tags of this rule set.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Tag"
            }
          },
          "job_orchestrator_id": {
            "type": "string",
            "readOnly": true
          },
          "job_orchestrator_name": {
            "type": "string",
            "readOnly": true
          },
          "last_attempted_refresh_status": {
            "description": "The status of the last attempted rule set refresh.",
            "type": "string",
            "enum": [
              "PENDING",
              "STARTED",
              "TIMEDOUT",
              "RUNNING",
              "CANCELED",
              "FAILED",
              "SUSPENDED",
              "WAITING",
              "COMPLETED",
              "ABANDONED"
            ]
          },
          "last_attempted_refresh_time": {
            "description": "The date and time of the last attempted rule set refresh.",
            "type": "string",
            "format": "date-time",
            "readOnly": true
          },
          "last_refresh_time": {
            "description": "The date and time of the last successful rule set refresh.",
            "type": "string",
            "format": "date-time",
            "readOnly": true
          },
          "purpose": {
            "description": "Determines the purpose of the environment created at job execution time.",
            "type": "string",
            "enum": [
              "MASK",
              "TOKENIZE"
            ]
          },
          "migration_mode": {
            "description": "The import mode used when this rule set was migrated from a masking engine into DCT. Null if the rule set was not created via migration.",
            "type": "string",
            "nullable": true,
            "readOnly": true,
            "enum": [
              "MAINTAIN_UNIQUE_OUTPUT",
              "REALIGN_TO_DEFAULTS"
            ]
          },
          "is_realigned": {
            "description": "Whether this rule set has been re-aligned to use DCT built-in algorithms and data classes instead of the engine-specific copies created at migration time.",
            "type": "boolean",
            "readOnly": true
          },
          "realignable_algorithm_count": {
            "description": "Number of algorithms in this rule set's inventory (including transitive dependencies) that can be re-aligned to DCT built-ins. Null if not yet computed. Zero after re-alignment.",
            "type": "integer",
            "nullable": true,
            "readOnly": true
          },
          "realignable_data_class_count": {
            "description": "Number of data classes in this rule set's inventory that can be re-aligned to DCT built-ins. Null if not yet computed. Zero after re-alignment.",
            "type": "integer",
            "nullable": true,
            "readOnly": true
          },
          "migrated_at": {
            "description": "Timestamp when the rule set was last imported into DCT via the MAINTAIN_UNIQUE_OUTPUT mode. Populated for any rule set created via DCT import.",
            "type": "string",
            "format": "date-time",
            "nullable": true,
            "readOnly": true
          },
          "realign_expires_at": {
            "description": "Deadline after which realignment is no longer possible (migrated_at + the configured expiry window; see dct.masking.realignment.expiry.days in application.properties). Populated for any rule set created via DCT import.",
            "type": "string",
            "format": "date-time",
            "nullable": true,
            "readOnly": true
          }
        }
      },
      "RuleSetCreateRequest": {
        "description": "Parameters used to create a rule set.",
        "type": "object",
        "required": [
          "name",
          "connector_id"
        ],
        "properties": {
          "name": {
            "description": "The name of this rule set.",
            "type": "string"
          },
          "connector_id": {
            "description": "The ID of the connector this rule set uses.",
            "type": "string"
          },
          "refresh_drops_tables": {
            "description": "This applies when table metadata exists in DCT, but the corresponding table no longer exists in the external database. In that event, true will cause the refresh operation to delete the invalid table metadata, whereas false will fail the refresh instead. Applicable only for DATABASE rule sets.",
            "type": "boolean",
            "default": false
          },
          "make_current_account_owner": {
            "description": "Whether the account creating this rule set must be configured as owner of it.",
            "type": "boolean",
            "default": true
          },
          "tags": {
            "description": "The tags for this rule set.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Tag"
            }
          },
          "purpose": {
            "description": "Determines which compliance job types can reference it (see the compliance job create endpoint for the compatibility matrix).",
            "type": "string",
            "enum": [
              "MASK",
              "TOKENIZE"
            ],
            "default": "MASK"
          }
        }
      },
      "RuleSetUpdateRequest": {
        "description": "Parameters used to update a rule set.",
        "type": "object",
        "properties": {
          "name": {
            "description": "The name of this rule set.",
            "type": "string"
          },
          "refresh_drops_tables": {
            "description": "This applies when table metadata exists in DCT, but the corresponding table no longer exists in the external database. In that event, true will cause the refresh operation to delete the invalid table metadata, whereas false will fail the refresh instead. Applicable only for DATABASE rule sets.",
            "type": "boolean"
          }
        }
      },
      "RuleSetBulkTableDeltaUpdateRequest": {
        "description": "The mutually exclusive list of tables to be added, modified, or removed from the ruleset must be provided in three different arrays. Note that only the delta needs to be provided, and existing tables not listed here will be left unchanged.",
        "type": "object",
        "properties": {
          "add": {
            "description": "Tables to add to the rule set.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DatabaseTableMetadataParameters"
            }
          },
          "update": {
            "description": "Tables to update in the rule set. Any DatabaseTableMetadataParameters properties not provided will be set to null.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DatabaseTableMetadataParameters"
            }
          },
          "delete": {
            "description": "Tables to delete from the rule set.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DatabaseTableMetadataParameters"
            }
          }
        }
      },
      "MainframeDatasetFileMetadataParameters": {
        "description": "Per-item shape used in the bulk mainframe dataset delta endpoint's add/update/delete arrays. connector_id is derived server-side from the rule set's connector.\n",
        "type": "object",
        "properties": {
          "file_metadata_id": {
            "type": "string",
            "description": "DCT UUID of the existing file_metadata row. Required on update and delete items; must not be set on add items."
          },
          "file_name": {
            "type": "string",
            "maxLength": 240,
            "description": "The dataset file name within the rule set. A regex pattern when name_is_regex=true."
          },
          "name_is_regex": {
            "type": "boolean",
            "nullable": true,
            "description": "When true, file_name is treated as a regex pattern and the file_name immutability check on updates is relaxed. On update, omitting this field preserves the stored value (PATCH semantics). On add, omitting defaults to false.\n"
          },
          "mainframe_dataset_format_id": {
            "type": "string",
            "description": "DCT UUID of the CopyBook (mainframe dataset format). Required on add and update."
          },
          "mf_file_structure": {
            "type": "string",
            "enum": [
              "FIXED_BLOCKED",
              "VARIABLE_BLOCKED"
            ],
            "description": "Mainframe file structure. Defaults to FIXED_BLOCKED when omitted on add. Left unchanged when omitted on update."
          }
        }
      },
      "RuleSetBulkMainframeDatasetDeltaUpdateRequest": {
        "description": "The lists of DATASET file_metadata entries to be added, updated, or removed from the MAINFRAME_DATASET rule set as a delta. Existing entries not listed in any array remain unchanged.\n",
        "type": "object",
        "properties": {
          "add": {
            "description": "Entries to insert. file_name must not already exist in the rule set. file_metadata_id must not be set.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/MainframeDatasetFileMetadataParameters"
            }
          },
          "update": {
            "description": "Entries to update. Matched by file_metadata_id. copy_book_id always written; name_is_regex and mf_file_structure written only when provided (preserved if omitted); file_name written only when name_is_regex=true. A file_metadata_id not found in the DB is a no-op.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/MainframeDatasetFileMetadataParameters"
            }
          },
          "delete": {
            "description": "Entries to delete. Matched by file_metadata_id. Other fields are ignored. A file_metadata_id not in the rule set is a no-op.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/MainframeDatasetFileMetadataParameters"
            }
          }
        }
      },
      "RuleSetBulkFileDeltaUpdateRequest": {
        "description": "The lists of file_metadata entries to be added, updated, or removed from the file rule set as a delta. Existing entries not listed in any array remain unchanged. v1 supports DELIMITED file format only.",
        "type": "object",
        "properties": {
          "add": {
            "description": "Entries to insert. file_name must not already exist in the rule set.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FileMetadataParameters"
            }
          },
          "update": {
            "description": "Entries to update (PUT semantics -- unprovided nullable fields are persisted as null). Matched by file_metadata_id within the rule set. A file_metadata_id not present in the rule set is a no-op.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FileMetadataParameters"
            }
          },
          "delete": {
            "description": "Entries to delete. Matched by file_metadata_id. Other fields on delete items are ignored. A file_metadata_id not present in the rule set is a no-op.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FileMetadataParameters"
            }
          }
        }
      },
      "FileMetadataParameters": {
        "description": "Per-item shape used in the bulk file delta endpoint's add/update/delete arrays. v1 is DELIMITED-only. connector_id is not part of this schema; it is derived server-side from the rule set's connector.",
        "type": "object",
        "required": [
          "file_name"
        ],
        "properties": {
          "file_metadata_id": {
            "type": "string",
            "description": "DCT UUID of the existing file_metadata row. Required on update and delete items; rejected on add items. Matching key for update/delete phases."
          },
          "file_name": {
            "type": "string",
            "maxLength": 240,
            "description": "The file name within the rule set. A regex pattern when name_is_regex=true."
          },
          "name_is_regex": {
            "type": "boolean",
            "default": false,
            "description": "When true, file_name is treated as a regex pattern. Relaxes the file_name immutability check on updates."
          },
          "file_format_id": {
            "type": "string",
            "description": "DCT UUID of the FileFormat. Required on add and update. The referenced FileFormat's file_type must be DELIMITED in v1."
          },
          "field_delimiter_tx": {
            "type": "string",
            "maxLength": 50,
            "description": "Field delimiter for DELIMITED files. Required on add and update. Must differ from enclosure_tx when both are set."
          },
          "end_of_record": {
            "type": "string",
            "maxLength": 25,
            "description": "The string of characters that delineates the end-of-record for the file. Note that for Unix line endings use \"linux\", and for Windows line endings use \"windows\" (both case-insensitive). Any other string value is also accepted. Required on add and update."
          },
          "enclosure_tx": {
            "type": "string",
            "maxLength": 1,
            "description": "Single-char enclosure for fields. Optional. When set, requires enclosure_escape_character."
          },
          "enclosure_escape_character": {
            "type": "string",
            "maxLength": 1,
            "description": "Escape character for the enclosure. Required when enclosure_tx is set; rejected when it is not."
          },
          "escape_enclosure_escape_character": {
            "type": "boolean",
            "default": false,
            "description": "When true, requires enclosure_tx to be set."
          },
          "whole_file_masking": {
            "type": "boolean",
            "default": false,
            "description": "Whole-file masking flag. Rejected with 400 in v1 (FIXED_WIDTH-only feature)."
          }
        }
      },
      "RuleSetMappingSyncStatus": {
        "type": "object",
        "properties": {
          "algorithms": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/RuleSetSourcedMappingAlgorithm"
            }
          },
          "not_synced_or_failed_local_count": {
            "description": "Count of local mapping algorithms assigned to this rule set that are NOT_SYNCED or FAILED -- the set a bulk sync (POST .../mappings/sync) would target.",
            "type": "integer",
            "format": "int64"
          }
        }
      },
      "RuleSetSourcedMappingAlgorithm": {
        "type": "object",
        "properties": {
          "algorithm_id": {
            "description": "The ID of this mapping algorithm.",
            "type": "string"
          },
          "algorithm_name": {
            "description": "The name of this mapping algorithm.",
            "type": "string"
          },
          "mappings_status": {
            "description": "Sync state for this migrated mapping algorithm. NOT_SYNCED means the algorithm was imported but mapping data has not yet been pulled (local) or remote credentials have not been provided. SYNCING means a sync job is in progress. SYNCED means data is available. FAILED means the last sync attempt failed; see status_detail.",
            "type": "string",
            "enum": [
              "NOT_SYNCED",
              "SYNCING",
              "SYNCED",
              "FAILED"
            ]
          },
          "status_detail": {
            "description": "Human-readable failure reason when mappings_status is FAILED (e.g. \"poll timeout\"). Null when status is NOT_SYNCED, SYNCING, or SYNCED.",
            "type": "string",
            "nullable": true
          },
          "mapping_is_remote": {
            "description": "True if this is a remote mapping algorithm, whose mapping data lives in a customer-provided external database and requires credential completion via PATCH /algorithms/{algorithmId}. False for local mapping algorithms, whose data is pulled into DCT's own mapping store via POST /algorithms/{algorithmId}/mappings/sync.",
            "type": "boolean"
          }
        }
      },
      "MaskingEnvironment": {
        "properties": {
          "id": {
            "description": "The MaskingEnvironment entity ID.",
            "type": "string",
            "example": "masking-environment-1"
          },
          "engine_id": {
            "description": "The ID of the Engine where this MaskingEnvironment resides.",
            "type": "string",
            "example": "engine-123"
          },
          "engine_name": {
            "description": "The name of the Engine where this MaskingEnvironment resides.",
            "type": "string",
            "example": "engine-xyz"
          },
          "name": {
            "description": "The name of this MaskingEnvironment.",
            "type": "string",
            "example": "MyAppEnvironment"
          },
          "purpose": {
            "description": "The purpose of this MaskingEnvironment. MaskingEnvironments with a 'MASK' purpose will have access to Masking and Profiling jobs, whereas Environments with a 'TOKENIZE' purpose will have access to Tokenization and Re-Identification jobs. Note that any custom purposes created through the UI will be represented as 'MASK' purposes, due to the jobs that they have access to.",
            "enum": [
              "MASK",
              "TOKENIZE"
            ],
            "type": "string"
          },
          "is_workflow_enabled": {
            "type": "boolean"
          }
        }
      },
      "MaskingFileUpload": {
        "description": "An uploaded file.",
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "ID of file."
          },
          "description": {
            "type": "string",
            "description": "A description of this file."
          },
          "filename": {
            "type": "string",
            "description": "Name of this file."
          },
          "file_checksum": {
            "type": "string",
            "description": "Checksum of this file."
          },
          "file_size": {
            "type": "integer",
            "format": "int64",
            "description": "Size of this file in bytes."
          },
          "created_date": {
            "type": "string",
            "format": "date-time",
            "description": "Date that this file was created."
          },
          "file_reference_id": {
            "type": "string",
            "description": "A reference to this file."
          },
          "tags": {
            "type": "array",
            "description": "Tags of this file.",
            "items": {
              "$ref": "#/components/schemas/Tag"
            }
          }
        }
      },
      "Consumer": {
        "description": "Consumer object.",
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Unique ID for this Consumer."
          },
          "parent_id": {
            "type": "string",
            "description": "ID of the parent object."
          },
          "parent_name": {
            "type": "string",
            "description": "The name of the parent object."
          },
          "parent_type": {
            "type": "string",
            "description": "The type of the object.",
            "example": "algorithm"
          }
        }
      },
      "MaskingJob": {
        "description": "A masking job.",
        "type": "object",
        "properties": {
          "id": {
            "description": "The Masking Job entity ID.",
            "type": "string",
            "readOnly": true,
            "example": "masking-job-1"
          },
          "name": {
            "description": "The name of this Masking Job.",
            "type": "string",
            "example": "My favorite MaskingJob"
          },
          "rule_set_id": {
            "description": "The ID of the Rule Set used by this Masking Job (Standard Job only). For hyperscale jobs, see dataset_id.",
            "type": "string",
            "example": "uuid"
          },
          "rule_set_name": {
            "description": "The name of the Rule Set used by this Masking Job (Standard Job only). For hyperscale jobs, see dataset_id.",
            "type": "string",
            "example": "my rule set"
          },
          "ruleset": {
            "deprecated": true,
            "description": "The ruleset of this Masking job (Standard Job only). For hyperscale jobs, see dataset_id.",
            "$ref": "#/components/schemas/MaskingRuleset"
          },
          "connector_type": {
            "type": "string",
            "description": "The type of data being masked by this Job. If the Masking Job is masking a database this is the type of the database (Standard Job only).",
            "example": "MARIADB"
          },
          "is_on_the_fly_masking": {
            "description": "Whether this is an on-the-fly masking job (Standard Job only).",
            "type": "boolean",
            "example": true
          },
          "creation_date": {
            "description": "The date this MaskingJob was created (Standard Job only).",
            "type": "string",
            "format": "date-time",
            "example": "2022-11-30T08:51:34.148000+00:00"
          },
          "last_completed_execution_date": {
            "description": "The date this MaskingJob was last executed to completion.",
            "type": "string",
            "format": "date-time",
            "example": "2022-11-30T09:51:34.148000+00:00"
          },
          "last_execution_status": {
            "$ref": "#/components/schemas/ExecutionStatus"
          },
          "last_execution_id": {
            "description": "The ID of this MaskingJob's last execution.",
            "type": "string",
            "example": "00e38996-7da2-4827-8f3e-0503234de537"
          },
          "connector_username": {
            "type": "string",
            "description": "The username of the Connector used by the MaskingJob (Standard Job only). For hyperscale jobs, see the connector of the dataset.",
            "nullable": true,
            "example": "user123"
          },
          "connector_password": {
            "x-dct-toolkit-credential-field": true,
            "type": "string",
            "description": "The password of the Connector used by the MaskingJob (Standard Job only). For hyperscale jobs, see the connector of the dataset.",
            "nullable": true,
            "example": "*****"
          },
          "on_the_fly_source_connector_username": {
            "type": "string",
            "description": "The username of the source Connector used by the on-the-fly MaskingJob (Standard Job only).",
            "nullable": true,
            "example": "user123"
          },
          "on_the_fly_source_connector_password": {
            "x-dct-toolkit-credential-field": true,
            "type": "string",
            "description": "The password of the source Connector used by the on-the-fly MaskingJob (Standard Job only).",
            "nullable": true,
            "example": "*****"
          },
          "job_type": {
            "type": "string",
            "description": "The engine type of this Job. This field is present for API backward compatibility.",
            "deprecated": true,
            "enum": [
              "STANDARD",
              "HYPERSCALE"
            ],
            "example": "STANDARD"
          },
          "hyperscale_instance_id": {
            "description": "The ID of the Hyperscale instance of this Job (Hyperscale Job only).",
            "type": "string",
            "example": "abc"
          },
          "description": {
            "description": "Description of the Job (Hyperscale Job only).",
            "type": "string",
            "example": "Job for app finance"
          },
          "dataset_id": {
            "description": "Dataset of the Hyperscale Job (Hyperscale Job only).",
            "type": "string",
            "example": "dataset-123"
          },
          "retain_execution_data": {
            "description": "Defines whether execution data will be stored after execution is complete (Hyperscale Job only).",
            "type": "string",
            "enum": [
              "NO",
              "ON_ERROR",
              "ALWAYS"
            ],
            "example": false
          },
          "max_memory": {
            "description": "Maximum memory to be allocated for each Masking job (Hyperscale Job only).",
            "type": "integer",
            "format": "int32",
            "example": 1024
          },
          "min_memory": {
            "description": "Minimum memory to be allocated for each Masking job (Hyperscale Job only).",
            "type": "integer",
            "format": "int32",
            "example": 1024
          },
          "feedback_size": {
            "description": "Feedback Size for each Masking job (Hyperscale Job only).",
            "type": "integer",
            "format": "int32",
            "example": 32
          },
          "stream_row_limit": {
            "description": "Stream Row Limit for each Masking job (Hyperscale Job only).",
            "type": "integer",
            "format": "int32",
            "example": 4
          },
          "num_input_streams": {
            "description": "Number of input streams to be configured for Masking Job (Hyperscale Job only).",
            "type": "integer",
            "format": "int32",
            "example": 4
          },
          "max_concurrent_source_connections": {
            "description": "Maximum number of parallel connection that the Hyperscale instance can have with the source datasource (Hyperscale Job only).",
            "type": "integer",
            "format": "int32",
            "example": 32
          },
          "max_concurrent_target_connections": {
            "description": "Maximum number of parallel connection that the Hyperscale instance can have with the target datasource (Hyperscale Job only).",
            "type": "integer",
            "format": "int32",
            "example": 32
          },
          "parallelism_degree": {
            "description": "The degree of parallelism (DOP) per Oracle job to recreate the index in the post-load process (Hyperscale Job only).",
            "type": "integer",
            "format": "int32",
            "example": 4
          },
          "source_masking_job_id": {
            "description": "The ID of the MaskingJob that was used as the source to create this job (Hyperscale Job only).",
            "type": "string",
            "example": "masking-job-0"
          },
          "engine_ids": {
            "description": "List of engines that this job can run on (Hyperscale Job only).",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "tags": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Tag"
            }
          }
        }
      },
      "MaskingExecutionMetrics": {
        "description": "Metrics for a masking job.",
        "type": "object",
        "properties": {
          "id": {
            "description": "The MaskingJob entity ID.",
            "type": "string",
            "example": "masking-job-1"
          },
          "masking_job_name": {
            "description": "The name of the MaskingJob.",
            "type": "string",
            "example": "My favorite MaskingJob"
          },
          "masking_job_type": {
            "type": "string",
            "description": "The type of the Masking job.",
            "enum": [
              "STANDARD",
              "HYPERSCALE"
            ],
            "example": "STANDARD"
          },
          "connector_type": {
            "type": "string",
            "description": "The type of data being masked by this Job. If the Masking Job is masking a database this is the type of the database, otherwise \"FILE\" or \"MAINFRAME_DATASET\".",
            "example": "MARIADB"
          },
          "dct_managed": {
            "description": "Whether or not this execution is managed by DCT.",
            "type": "boolean",
            "example": false
          },
          "ruleset_name": {
            "type": "string",
            "description": "Name of the ruleset for the Masking job.",
            "example": "my-ruleset"
          },
          "rows_masked": {
            "description": "The number of rows masked. This is not applicable for JSON file type.",
            "type": "integer",
            "format": "int64",
            "example": 1000
          },
          "rows_total": {
            "description": "The total number of rows. This is not applicable for JSON file type.",
            "type": "integer",
            "format": "int64",
            "example": 5000
          },
          "bytes_masked": {
            "description": "The number of bytes masked. This is only applicable for JSON file type.",
            "type": "integer",
            "format": "int64",
            "example": 500
          },
          "bytes_total": {
            "description": "The total number of bytes. This is only applicable for JSON file type.",
            "type": "integer",
            "format": "int64",
            "example": 5000000
          },
          "duration": {
            "description": "The time taken by the execution in ms.",
            "type": "integer",
            "format": "int64",
            "example": 5000000
          },
          "tables_files_count": {
            "description": "The number of tables or files in the ruleset associated to the Masking job.",
            "type": "integer",
            "format": "int64",
            "example": 5000000
          },
          "masked_tables_files_count": {
            "description": "The number of tables or files in the ruleset associated to the Masking job for which at least one column or field is masked.",
            "type": "integer",
            "format": "int64",
            "example": 5000000
          },
          "columns_fields_count": {
            "description": "The number of columns or fields across all tables or files in the ruleset associated to the Masking job.",
            "type": "integer",
            "format": "int64",
            "example": 5000000
          },
          "masked_columns_fields_count": {
            "description": "The number of columns or fields across all tables or files in the ruleset associated to the Masking job which are masked.",
            "type": "integer",
            "format": "int64",
            "example": 5000000
          }
        }
      },
      "MaskingJobSourceEngine": {
        "description": "A masking job's source engine.",
        "type": "object",
        "properties": {
          "masking_job_id": {
            "description": "The MaskingJob entity ID.",
            "type": "string",
            "example": "masking-job-1"
          },
          "source_engine_id": {
            "description": "The ID of the Engine serving as the source for the MaskingJob.",
            "type": "string",
            "example": "engine-123"
          }
        }
      },
      "MaskingJobConnectorsResponse": {
        "description": "Connector(s) for a masking job.",
        "type": "object",
        "properties": {
          "connector": {
            "$ref": "#/components/schemas/Connector"
          },
          "on_the_fly_connector": {
            "$ref": "#/components/schemas/Connector"
          }
        }
      },
      "ComplianceJobConnectorsResponse": {
        "description": "Connector(s) for a compliance job.",
        "type": "object",
        "properties": {
          "connector": {
            "$ref": "#/components/schemas/Connector"
          },
          "on_the_fly_connector": {
            "$ref": "#/components/schemas/Connector"
          }
        }
      },
      "MaskingPlugin": {
        "description": "A masking plugin.",
        "type": "object",
        "properties": {
          "id": {
            "description": "The masking plugin entity ID.",
            "type": "string",
            "example": "dc91e41c-aade-4404-9084-179cb90d07c6"
          },
          "name": {
            "description": "The name of this plugin.",
            "type": "string",
            "example": "dlpx-core"
          },
          "plugin_type": {
            "description": "The plugin type.",
            "$ref": "#/components/schemas/PluginTypeEnum"
          },
          "description": {
            "description": "A description of this plugin.",
            "type": "string",
            "nullable": true,
            "example": "Delphix Core Masking Algorithm Plugin"
          },
          "install_date": {
            "description": "The date and time when this plugin is installed.",
            "type": "string",
            "format": "date-time"
          },
          "built_in": {
            "description": "Whether this plugin is a built-in plugin.",
            "type": "boolean"
          },
          "sdk_version": {
            "description": "The masking SDK version that this plugin is built from.",
            "type": "string",
            "example": "1.20.0"
          },
          "version": {
            "description": "The version of this plugin.",
            "type": "string",
            "example": "1.20.0"
          },
          "author": {
            "description": "The author of this plugin.",
            "type": "string",
            "example": "Delphix"
          },
          "account_id": {
            "description": "The ID of the account who created this plugin.",
            "type": "integer",
            "format": "int64",
            "readOnly": true,
            "example": 1
          },
          "account_name": {
            "description": "The account name of the DCT user who created this plugin.",
            "type": "string",
            "readOnly": true,
            "example": "John Doe"
          },
          "dct_managed": {
            "description": "Whether this plugin is managed by DCT or not.",
            "type": "boolean",
            "readOnly": true
          },
          "frameworks": {
            "description": "The list of frameworks for this plugin.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Framework"
            },
            "nullable": true
          },
          "tags": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Tag"
            }
          },
          "driver_support_tasks": {
            "description": "For Driver Support plugins (plugin_type=DRIVER_SUPPORT), the list of task names declared by the plugin's getTasks() method.",
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true,
            "readOnly": true
          }
        }
      },
      "MaskingPluginCreateRequest": {
        "description": "Parameters used to install a Masking Plugin.",
        "type": "object",
        "required": [
          "file_id",
          "plugin_type"
        ],
        "properties": {
          "name": {
            "description": "Provide a name to override the name defined in the plugin manifest.",
            "type": "string",
            "example": "dlpx-core",
            "nullable": true
          },
          "file_id": {
            "description": "The file upload ID or file reference ID of the uploaded plugin file.",
            "type": "string",
            "minLength": 1,
            "example": "f_78ef5075c85f43d398e75b77051b265f"
          },
          "plugin_type": {
            "description": "The plugin type.",
            "$ref": "#/components/schemas/PluginTypeEnum"
          },
          "description": {
            "description": "Provide a description to override the description defined in the plugin manifest.",
            "type": "string",
            "nullable": true,
            "example": "Delphix Core Masking Algorithm Plugin"
          },
          "make_current_account_owner": {
            "description": "Whether the account installing this plugin must be configured as owner of it.",
            "type": "boolean",
            "default": true
          },
          "tags": {
            "description": "The tags for this plugin.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Tag"
            }
          }
        }
      },
      "MaskingPluginUpdateRequest": {
        "description": "Parameters to update a Masking Plugin.",
        "type": "object",
        "x-jackson-optional-nullable-helpers": true,
        "properties": {
          "name": {
            "description": "The name of this Masking Plugin. Set to null to use the name defined in the plugin manifest.",
            "type": "string",
            "example": "dlpx-core",
            "nullable": true,
            "x-is-jackson-optional-nullable": true
          },
          "file_id": {
            "description": "The file upload ID or file reference ID of the uploaded plugin file.",
            "type": "string",
            "minLength": 1,
            "example": "f_78ef5075c85f43d398e75b77051b265f"
          },
          "description": {
            "description": "A description of this Masking Plugin. Set to null to use the description defined in the plugin manifest.",
            "type": "string",
            "nullable": true,
            "x-is-jackson-optional-nullable": true
          }
        }
      },
      "PluginTypeEnum": {
        "type": "string",
        "enum": [
          "EXTENDED_ALGORITHM",
          "JDBC_DRIVER",
          "DRIVER_SUPPORT"
        ]
      },
      "Framework": {
        "description": "A masking algorithm framework.",
        "type": "object",
        "properties": {
          "id": {
            "description": "The masking framework entity ID.",
            "type": "string",
            "example": "dc91e41c-aade-4404-9084-179cb90d07c6"
          },
          "name": {
            "description": "The name of this framework.",
            "type": "string",
            "example": "Secure Lookup"
          },
          "description": {
            "description": "A description of this framework.",
            "type": "string",
            "nullable": true,
            "example": "Secure Lookup Framework"
          },
          "framework_schema": {
            "description": "Schema for this framework. Only set when explicitly getting this framework by ID or name.",
            "type": "object",
            "additionalProperties": true,
            "nullable": true
          },
          "masking_type": {
            "description": "The masking type of this framework.",
            "$ref": "#/components/schemas/MaskingTypeEnum"
          },
          "default_config": {
            "description": "The default config for this framework. Only set when explicitly getting this framework by ID or name.",
            "type": "object",
            "additionalProperties": true,
            "nullable": true
          },
          "fields": {
            "description": "The list of fields if it is a multi-column/multi-condition framework.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AlgorithmField"
            }
          }
        }
      },
      "MaskingTypeEnum": {
        "type": "string",
        "enum": [
          "STRING",
          "DATE",
          "LOCAL_DATE_TIME",
          "BIG_DECIMAL",
          "BYTE_BUFFER",
          "GENERIC_DATA_ROW",
          "ADVANCED_OBJECT"
        ]
      },
      "Connector": {
        "description": "Connectors are the way users define the data sources to which the Masking Engine should connect.",
        "type": "object",
        "properties": {
          "id": {
            "description": "The Connector entity ID.",
            "type": "string",
            "example": "1-database-123"
          },
          "name": {
            "description": "The Connector name.",
            "type": "string",
            "example": "connector-name"
          },
          "engine_id": {
            "description": "The id of the Compliance Engine that this Connector belongs to.",
            "type": "string",
            "example": "123"
          },
          "engine_name": {
            "description": "The name of the Compliance Engine that this Connector belongs to.",
            "type": "string",
            "example": "my-compliance-engine-1"
          },
          "type": {
            "description": "The type of Connector. One of Database, File, or Mainframe.",
            "$ref": "#/components/schemas/ConnectorTypeEnum"
          },
          "hostname": {
            "description": "The network hostname or IP address of the database server.",
            "type": "string",
            "example": "database_server.mycompany.co"
          },
          "port": {
            "description": "The TCP port of the server.",
            "type": "integer",
            "format": "int32",
            "minimum": 1,
            "maximum": 65535,
            "example": 9100
          },
          "username": {
            "description": "The username this Connector will use to connect to the database.",
            "type": "string"
          },
          "password": {
            "x-dct-toolkit-credential-field": true,
            "description": "The password this Connector will use to connect to the database.",
            "type": "string"
          },
          "auth_present": {
            "description": "Whether this connector has authentication credentials set",
            "type": "boolean"
          },
          "database_type": {
            "description": "The database variant, such as Oracle or MSSQL Server",
            "type": "string",
            "enum": [
              "AURORA_POSTGRES",
              "DB2",
              "DB2_ISERIES",
              "DB2_MAINFRAME",
              "EXTENDED",
              "GENERIC",
              "MARIADB",
              "MSSQL",
              "MYSQL",
              "ORACLE",
              "POSTGRES",
              "RDS_POSTGRES",
              "SYBASE",
              "YUGABYTEDB_POSTGRES",
              "COCKROACHDB_POSTGRES"
            ],
            "example": "ORACLE"
          },
          "custom_driver_name": {
            "description": "The name of the custom JDBC driver for this connector",
            "type": "string"
          },
          "compliance_jdbc_driver_id": {
            "description": "The ID of the compliance JDBC driver referenced by this connector. Exclusively used for EXTENDED connectors.",
            "type": "string"
          },
          "compliance_jdbc_driver_name": {
            "description": "The name of the compliance JDBC driver referenced by this connector. Exclusively used for EXTENDED connectors.",
            "type": "string"
          },
          "database_name": {
            "description": "The database name for this connector",
            "type": "string"
          },
          "instance_name": {
            "description": "The instance name for this connector",
            "type": "string"
          },
          "jdbc": {
            "description": "The jdbc URL for this connector",
            "type": "string"
          },
          "schema_name": {
            "description": "The schema name for this connector",
            "type": "string"
          },
          "sid": {
            "description": "The SID value for this connector. This field is specific to Oracle database connectors",
            "type": "string"
          },
          "kerberos_auth": {
            "description": "Whether kerberos authentication is enabled for this connector",
            "type": "boolean"
          },
          "service_principal": {
            "description": "The service principal to use for kerberos authentication",
            "type": "string"
          },
          "enable_logger": {
            "description": "Whether the logger is enabled for this connector. Exclusively used for EXTENDED connectors.",
            "type": "boolean"
          },
          "file_type": {
            "description": "The type of file this connector is configured to access. Immutable after creation.",
            "type": "string",
            "enum": [
              "DELIMITED",
              "FIXED_WIDTH",
              "XML",
              "JSON",
              "PARQUET"
            ],
            "example": "DELIMITED"
          },
          "connection_mode": {
            "description": "The connection mode for file connectors.",
            "type": "string",
            "enum": [
              "FTP",
              "FTPS",
              "SFTP",
              "MOUNT",
              "AWS_S3",
              "S3_COMPATIBLE",
              "AZURE_BLOB_STORAGE"
            ],
            "example": "SFTP"
          },
          "path": {
            "description": "The path on the remote server for file connections.",
            "type": "string"
          },
          "ssh_key": {
            "description": "UUID of an SSH key uploaded to DCT via POST /v3/ssh-keys. Mutually exclusive with password and credential_path_id. Only applicable for connection_mode SFTP.",
            "type": "string"
          },
          "user_dir_is_root": {
            "description": "For SFTP connections only, whether the user dir is set to root.",
            "type": "boolean",
            "default": false
          },
          "mount_information_id": {
            "description": "The DCT UUID of the mount information record (MOUNT mode only).",
            "type": "string"
          },
          "mount_information_name": {
            "description": "The name of the mount information record (MOUNT mode only). Read-only; resolved at write time.",
            "type": "string",
            "readOnly": true
          },
          "bucket_name": {
            "description": "The storage bucket name (AWS_S3 and S3_COMPATIBLE modes).",
            "type": "string"
          },
          "region": {
            "description": "The cloud storage region (AWS_S3 and S3_COMPATIBLE modes).",
            "type": "string"
          },
          "access_key": {
            "x-dct-toolkit-credential-field": true,
            "description": "The access key for cloud storage authentication (AWS and AZURE modes).",
            "type": "string"
          },
          "secret_key": {
            "x-dct-toolkit-credential-field": true,
            "description": "The secret key for AWS storage authentication.",
            "type": "string"
          },
          "auth_type": {
            "description": "The authentication type for cloud storage. For AWS_S3: AWS_ROLE or AWS_SECRET. For AZURE_BLOB_STORAGE: AZURE_MANAGED_IDENTITY or AZURE_SECRET.\n",
            "type": "string",
            "enum": [
              "AWS_ROLE",
              "AWS_SECRET",
              "AZURE_MANAGED_IDENTITY",
              "AZURE_SECRET"
            ]
          },
          "prefix": {
            "description": "The key prefix for cloud storage (AWS and AZURE modes).",
            "type": "string"
          },
          "delimiter": {
            "description": "The key delimiter for cloud storage (AWS and AZURE modes).",
            "type": "string"
          },
          "service_endpoint": {
            "description": "The service endpoint URL for S3_COMPATIBLE mode.",
            "type": "string"
          },
          "azure_account_name": {
            "description": "The Azure storage account name (AZURE_BLOB_STORAGE mode).",
            "type": "string"
          },
          "azure_container_name": {
            "description": "The Azure blob container name (AZURE_BLOB_STORAGE mode).",
            "type": "string"
          },
          "is_mvs_storage": {
            "description": "Whether the mainframe connector uses MVS storage. Read-only.",
            "type": "boolean",
            "readOnly": true
          },
          "password_vault_auth": {
            "description": "Whether the connector uses password vault authentication. Read-only.",
            "type": "boolean",
            "readOnly": true
          },
          "credential_path_id": {
            "description": "The DCT UUID of the credential path record for password vault auth.",
            "type": "string"
          },
          "credential_path_name": {
            "description": "The name of the credential path record. Read-only; resolved at write time.",
            "type": "string",
            "readOnly": true
          },
          "platform": {
            "description": "This database or file connection type associated with the connector",
            "type": "string",
            "example": "ORACLE"
          },
          "data_connection_id": {
            "description": "The ID of the associated DataConnection.",
            "type": "string",
            "example": "data-connection-1"
          },
          "account_id": {
            "description": "The ID of the account who created this connector.",
            "type": "integer",
            "format": "int64",
            "readOnly": true,
            "example": 1
          },
          "account_name": {
            "description": "The account name of the DCT user who created this connector.",
            "type": "string",
            "readOnly": true,
            "example": "John Doe"
          },
          "dct_managed": {
            "description": "Whether this connector is managed by DCT or not.",
            "type": "boolean",
            "readOnly": true
          },
          "job_orchestrator_id": {
            "description": "The ID of the job orchestrator that is associated with this connector.",
            "type": "string"
          },
          "job_orchestrator_name": {
            "description": "The name of the job orchestrator that is associated with this connector.",
            "type": "string"
          },
          "file_reference_id": {
            "description": "The reference uri/id of the connection-properties file used by the connector.",
            "type": "string"
          },
          "owning_entity_id": {
            "description": "The ID of the owning entity, if any.",
            "type": "string",
            "readOnly": true
          },
          "owning_entity_name": {
            "description": "The name of the owning entity, if any.",
            "type": "string",
            "readOnly": true
          },
          "owning_entity_type": {
            "description": "The type of the owning entity, if any.",
            "type": "string",
            "enum": [
              "PAAS_INSTANCE"
            ],
            "readOnly": true
          },
          "credentials_managed_by_owning_entity": {
            "description": "Whether credentials are managed by the owning entity.",
            "type": "boolean",
            "readOnly": true
          },
          "tags": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Tag"
            }
          }
        },
        "example": {
          "id": "1-database-123",
          "name": "connector-name",
          "engine_id": 123,
          "type": "DATABASE",
          "hostname": "database_server.example.com",
          "database_type": "POSTGRES",
          "schema_name": "public",
          "database_name": "public",
          "port": 5432,
          "username": "user-123",
          "kerberos_auth": false,
          "service_principal": "krbuser"
        }
      },
      "ConnectorCreateRequest": {
        "x-jackson-optional-nullable-helpers": true,
        "description": "Request body to create a Connector.",
        "type": "object",
        "required": [
          "name",
          "type"
        ],
        "properties": {
          "name": {
            "description": "The Connector name.",
            "type": "string",
            "maxLength": 255,
            "example": "connector-name"
          },
          "type": {
            "description": "The type of Connector. Supports DATABASE and FILE types.",
            "$ref": "#/components/schemas/ConnectorTypeEnum"
          },
          "hostname": {
            "description": "The network hostname or IP address of the database server.",
            "type": "string",
            "example": "database_server.mycompany.co"
          },
          "port": {
            "description": "The TCP port of the server.",
            "type": "integer",
            "format": "int32",
            "minimum": 1,
            "maximum": 65535,
            "example": 9100
          },
          "username": {
            "description": "The username this Connector will use to connect to the database.",
            "type": "string"
          },
          "password": {
            "x-dct-toolkit-credential-field": true,
            "description": "The password this Connector will use to connect to the database.",
            "type": "string"
          },
          "database_type": {
            "description": "The database variant, such as Oracle or MSSQL Server.",
            "type": "string",
            "enum": [
              "DB2",
              "DB2_ISERIES",
              "DB2_MAINFRAME",
              "ORACLE",
              "MSSQL",
              "MYSQL",
              "MARIADB",
              "POSTGRES",
              "AURORA_POSTGRES",
              "COCKROACHDB_POSTGRES",
              "RDS_POSTGRES",
              "YUGABYTEDB_POSTGRES",
              "SYBASE",
              "EXTENDED"
            ],
            "example": "ORACLE"
          },
          "compliance_jdbc_driver_id": {
            "description": "The ID or name of the compliance JDBC driver to use. Required when database_type is EXTENDED.",
            "type": "string"
          },
          "enable_logger": {
            "description": "Whether the logger is enabled for this connector. Exclusively used for EXTENDED connectors.",
            "type": "boolean",
            "default": false
          },
          "file_type": {
            "description": "The type of file this connector is configured to access. Immutable after creation.",
            "type": "string",
            "enum": [
              "DELIMITED",
              "FIXED_WIDTH",
              "XML",
              "JSON",
              "PARQUET"
            ],
            "example": "DELIMITED"
          },
          "connection_mode": {
            "description": "The connection mode for file connectors.",
            "type": "string",
            "enum": [
              "FTP",
              "FTPS",
              "SFTP",
              "MOUNT",
              "AWS_S3",
              "S3_COMPATIBLE",
              "AZURE_BLOB_STORAGE"
            ],
            "example": "SFTP"
          },
          "path": {
            "description": "The path on the remote server for file connections.",
            "type": "string"
          },
          "ssh_key": {
            "description": "UUID of an SSH key uploaded to DCT via POST /v3/ssh-keys. Mutually exclusive with password and credential_path_id. Only applicable for connection_mode SFTP. DCT pushes the key file to the compliance node at job execution time.",
            "type": "string"
          },
          "user_dir_is_root": {
            "description": "For SFTP connections only, whether the user dir is set to root.",
            "type": "boolean",
            "default": false
          },
          "mount_information_id": {
            "description": "The DCT UUID of the mount information record (MOUNT mode only).",
            "type": "string"
          },
          "bucket_name": {
            "description": "The storage bucket name (AWS_S3 and S3_COMPATIBLE modes).",
            "type": "string"
          },
          "region": {
            "description": "The cloud storage region (AWS_S3 and S3_COMPATIBLE modes).",
            "type": "string"
          },
          "access_key": {
            "x-dct-toolkit-credential-field": true,
            "description": "The access key for cloud storage authentication (AWS and AZURE modes).",
            "type": "string"
          },
          "secret_key": {
            "x-dct-toolkit-credential-field": true,
            "description": "The secret key for AWS storage authentication.",
            "type": "string"
          },
          "auth_type": {
            "description": "The authentication type for cloud storage. For AWS_S3: AWS_ROLE or AWS_SECRET. For AZURE_BLOB_STORAGE: AZURE_MANAGED_IDENTITY or AZURE_SECRET.\n",
            "type": "string",
            "enum": [
              "AWS_ROLE",
              "AWS_SECRET",
              "AZURE_MANAGED_IDENTITY",
              "AZURE_SECRET"
            ]
          },
          "prefix": {
            "description": "The key prefix for cloud storage (AWS and AZURE modes).",
            "type": "string"
          },
          "delimiter": {
            "description": "The key delimiter for cloud storage (AWS and AZURE modes).",
            "type": "string"
          },
          "service_endpoint": {
            "description": "The service endpoint URL for S3_COMPATIBLE mode.",
            "type": "string"
          },
          "azure_account_name": {
            "description": "The Azure storage account name (AZURE_BLOB_STORAGE mode).",
            "type": "string"
          },
          "azure_container_name": {
            "description": "The Azure blob container name (AZURE_BLOB_STORAGE mode).",
            "type": "string"
          },
          "credential_path_id": {
            "description": "The DCT UUID of the credential path record for password vault auth.",
            "type": "string"
          },
          "jdbc_url": {
            "description": "The jdbc URL for this connector",
            "type": "string"
          },
          "schema_name": {
            "description": "The schema name for this connector",
            "type": "string"
          },
          "database_name": {
            "description": "The name of the database to connect to. This field is not valid for database types 'ORACLE'.",
            "type": "string",
            "nullable": true,
            "x-is-jackson-optional-nullable": true
          },
          "instance_name": {
            "description": "The name of the database instance. Only used for database type 'MSSQL'.",
            "type": "string",
            "nullable": true,
            "x-is-jackson-optional-nullable": true
          },
          "sid": {
            "description": "The SID value for this connector. This field is specific to Oracle database connectors",
            "type": "string",
            "nullable": true,
            "x-is-jackson-optional-nullable": true
          },
          "tags": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Tag"
            }
          },
          "make_current_account_owner": {
            "type": "boolean",
            "default": true,
            "description": "Whether the account creating this connector must be configured as owner of it."
          },
          "job_orchestrator_id": {
            "type": "string",
            "minLength": 1,
            "description": "The ID or name of the job orchestrator that is associated with this connector."
          },
          "file_reference_id": {
            "type": "string",
            "description": "The reference ID of the connection-properties file to be used for the connector."
          },
          "kerberos_auth": {
            "description": "Whether to use kerberos to authenticate connections. When kerberos_auth is enabled, the username field is treated as the kerberos principal. Kerberos must be enabled on every compliance node in the connector's job orchestrator.",
            "type": "boolean",
            "default": false
          },
          "service_principal": {
            "description": "The service principal to use for kerberos authentication. This property is exclusive to Sybase connectors using Kerberos.",
            "type": "string"
          },
          "owning_entity_id": {
            "description": "The ID of the owning entity. When set, credentials and job orchestrator are retrieved from the entity.",
            "type": "string"
          },
          "owning_entity_type": {
            "description": "The type of the owning entity. Required when owning_entity_id is set.",
            "type": "string",
            "enum": [
              "PAAS_INSTANCE"
            ]
          }
        },
        "example": {
          "type": "DATABASE",
          "database_type": "POSTGRES",
          "name": "connector-name",
          "hostname": "database_server.example.com",
          "port": 5432,
          "username": "user-123",
          "password": "******",
          "schema_name": "public",
          "database_name": "public",
          "sid": "ORCL",
          "jdbc_url": "jdbc:oracle:thin:@//localhost:1521/ORCL",
          "job_orchestrator_id": "1-job-orchestrator-123",
          "file_reference_id": "delphix-file://upload/f_92e8e86ec67b4559a4b002629c6c943d/companies.properties",
          "kerberos_auth": false,
          "service_principal": "krbuser"
        }
      },
      "ConnectorTypeEnum": {
        "type": "string",
        "enum": [
          "DATABASE",
          "FILE",
          "MAINFRAME_DATASET"
        ],
        "example": "DATABASE"
      },
      "ConnectorUpdateParameters": {
        "x-jackson-optional-nullable-helpers": true,
        "description": "Parameters used to update a Masking Connector.",
        "type": "object",
        "properties": {
          "name": {
            "description": "The Connector name.",
            "type": "string",
            "maxLength": 255
          },
          "hostname": {
            "description": "The network hostname or IP address of the database server.",
            "type": "string",
            "nullable": true,
            "x-is-jackson-optional-nullable": true
          },
          "port": {
            "description": "The TCP port of the server.",
            "type": "integer",
            "format": "int32",
            "nullable": true,
            "minimum": 1,
            "maximum": 65535,
            "x-is-jackson-optional-nullable": true
          },
          "username": {
            "description": "The username this Connector will use to connect to the database.",
            "type": "string"
          },
          "password": {
            "x-dct-toolkit-credential-field": true,
            "description": "The password this Connector will use to connect to the database.",
            "type": "string",
            "nullable": true,
            "x-is-jackson-optional-nullable": true
          },
          "jdbc_url": {
            "description": "The jdbc URL for this connector.",
            "type": "string",
            "nullable": true,
            "x-is-jackson-optional-nullable": true
          },
          "schema_name": {
            "description": "The schema name for this connector",
            "type": "string"
          },
          "compliance_jdbc_driver_id": {
            "description": "The ID or name of the compliance JDBC driver. Only meaningful for EXTENDED connectors. When set, points the connector at a different driver; it cannot be cleared because an EXTENDED connector must always reference a driver.",
            "type": "string",
            "minLength": 1
          },
          "enable_logger": {
            "description": "Whether the logger is enabled for this connector. Exclusively used for EXTENDED connectors.",
            "type": "boolean"
          },
          "database_name": {
            "description": "The name of the database to connect to. This field is not valid for database types 'ORACLE'.",
            "type": "string",
            "nullable": true,
            "x-is-jackson-optional-nullable": true
          },
          "instance_name": {
            "description": "The name of the database instance. Only used for database type 'MSSQL'.",
            "type": "string",
            "nullable": true,
            "x-is-jackson-optional-nullable": true
          },
          "sid": {
            "description": "The SID value for this connector. This field is specific to Oracle database connectors",
            "type": "string",
            "nullable": true,
            "x-is-jackson-optional-nullable": true
          },
          "job_orchestrator_id": {
            "type": "string",
            "minLength": 1,
            "description": "The ID or name of the job orchestrator that is associated with this connector."
          },
          "file_reference_id": {
            "type": "string",
            "description": "The reference ID of the connection-properties file to be used for the connector.",
            "nullable": true,
            "x-is-jackson-optional-nullable": true
          },
          "kerberos_auth": {
            "description": "Whether to use kerberos to authenticate connections. When kerberos_auth is enabled, the username field is treated as the kerberos principal. Kerberos must be enabled on every compliance node in the connector's job orchestrator.",
            "type": "boolean"
          },
          "service_principal": {
            "description": "The service principal to use for kerberos authentication. This property is exclusive to Sybase connectors using Kerberos.",
            "type": "string",
            "nullable": true,
            "x-is-jackson-optional-nullable": true
          },
          "path": {
            "description": "The path on the remote server for file connections.",
            "type": "string",
            "nullable": true,
            "x-is-jackson-optional-nullable": true
          },
          "ssh_key": {
            "description": "UUID of an SSH key uploaded to DCT via POST /v3/ssh-keys. Mutually exclusive with password and credential_path_id. Only applicable for connection_mode SFTP. When set in a PATCH request, the opposing auth field (password or credential_path_id) is automatically cleared. DCT pushes the key file to the compliance node at job execution time.",
            "type": "string",
            "nullable": true,
            "x-is-jackson-optional-nullable": true
          },
          "user_dir_is_root": {
            "description": "For SFTP connections only, whether the user dir is set to root.",
            "type": "boolean",
            "nullable": true,
            "x-is-jackson-optional-nullable": true
          },
          "mount_information_id": {
            "description": "The DCT UUID of the mount information record (MOUNT mode only).",
            "type": "string",
            "nullable": true,
            "x-is-jackson-optional-nullable": true
          },
          "bucket_name": {
            "description": "The storage bucket name (AWS_S3 and S3_COMPATIBLE modes).",
            "type": "string",
            "nullable": true,
            "x-is-jackson-optional-nullable": true
          },
          "region": {
            "description": "The cloud storage region (AWS_S3 and S3_COMPATIBLE modes).",
            "type": "string",
            "nullable": true,
            "x-is-jackson-optional-nullable": true
          },
          "access_key": {
            "x-dct-toolkit-credential-field": true,
            "description": "The access key for cloud storage authentication (AWS and AZURE modes).",
            "type": "string",
            "nullable": true,
            "x-is-jackson-optional-nullable": true
          },
          "secret_key": {
            "x-dct-toolkit-credential-field": true,
            "description": "The secret key for AWS storage authentication.",
            "type": "string",
            "nullable": true,
            "x-is-jackson-optional-nullable": true
          },
          "auth_type": {
            "description": "The authentication type for cloud storage. For AWS_S3: AWS_ROLE or AWS_SECRET. For AZURE_BLOB_STORAGE: AZURE_MANAGED_IDENTITY or AZURE_SECRET.\n",
            "type": "string",
            "enum": [
              "AWS_ROLE",
              "AWS_SECRET",
              "AZURE_MANAGED_IDENTITY",
              "AZURE_SECRET"
            ],
            "nullable": true,
            "x-is-jackson-optional-nullable": true
          },
          "prefix": {
            "description": "The key prefix for cloud storage (AWS and AZURE modes).",
            "type": "string",
            "nullable": true,
            "x-is-jackson-optional-nullable": true
          },
          "delimiter": {
            "description": "The key delimiter for cloud storage (AWS and AZURE modes).",
            "type": "string",
            "nullable": true,
            "x-is-jackson-optional-nullable": true
          },
          "service_endpoint": {
            "description": "The service endpoint URL for S3_COMPATIBLE mode.",
            "type": "string",
            "nullable": true,
            "x-is-jackson-optional-nullable": true
          },
          "azure_account_name": {
            "description": "The Azure storage account name (AZURE_BLOB_STORAGE mode).",
            "type": "string",
            "nullable": true,
            "x-is-jackson-optional-nullable": true
          },
          "azure_container_name": {
            "description": "The Azure blob container name (AZURE_BLOB_STORAGE mode).",
            "type": "string",
            "nullable": true,
            "x-is-jackson-optional-nullable": true
          },
          "credential_path_id": {
            "description": "The DCT UUID of the credential path record for password vault auth.",
            "type": "string",
            "nullable": true,
            "x-is-jackson-optional-nullable": true
          }
        },
        "example": {
          "name": "connector-name",
          "hostname": "database_server.mycompany.co",
          "port": 4322,
          "username": "user-123",
          "password": "password123",
          "schema_name": "public",
          "sid": "ORCL",
          "job_orchestrator_id": "1-job-orchestrator-123",
          "kerberos_auth": false,
          "service_principal": "krbuser"
        }
      },
      "ComplianceJdbcDriver": {
        "description": "a Compliance JDBC driver.",
        "type": "object",
        "properties": {
          "id": {
            "description": "The JDBC driver ID.",
            "type": "string"
          },
          "name": {
            "description": "The JDBC driver name.",
            "type": "string"
          },
          "description": {
            "description": "The JDBC driver description.",
            "type": "string"
          },
          "version": {
            "description": "The version of the JDBC driver, extracted from the uploaded JAR.",
            "type": "string"
          },
          "install_date": {
            "description": "The date the JDBC driver was installed.",
            "type": "string",
            "format": "date-time"
          },
          "account_id": {
            "description": "The ID of the account that uploaded the JDBC driver.",
            "type": "integer",
            "format": "int64"
          },
          "account_name": {
            "description": "The username of the account who created this JDBC driver.",
            "type": "string",
            "example": "John Doe"
          },
          "file_reference_id": {
            "description": "The reference ID of the uploaded driver ZIP file.",
            "type": "string"
          },
          "class_name": {
            "description": "The fully qualified Java class name of the JDBC driver.",
            "type": "string"
          },
          "driver_support_id": {
            "description": "The ID of the associated driver support plugin.",
            "type": "string"
          },
          "license_file_id": {
            "description": "The masking-files identifier of the .bin entitlement for this CData driver (the FileUpload id, same form as file_reference_id). Null for non-CData drivers.",
            "type": "string",
            "nullable": true,
            "example": "f_6af70917922542af89ea6e7c31e80205"
          },
          "built_in": {
            "description": "Whether this JDBC driver is built-in or user-defined.",
            "type": "boolean"
          },
          "tags": {
            "description": "The tags of the JDBC driver.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Tag"
            }
          }
        }
      },
      "ComplianceJdbcDriverCreateRequest": {
        "description": "Request body to create a Compliance JDBC driver.",
        "type": "object",
        "required": [
          "name",
          "class_name",
          "file_reference_id"
        ],
        "properties": {
          "name": {
            "description": "The JDBC driver name.",
            "type": "string",
            "minLength": 1,
            "maxLength": 255
          },
          "description": {
            "description": "The JDBC driver description.",
            "type": "string",
            "nullable": true
          },
          "class_name": {
            "description": "The fully qualified Java class name of the JDBC driver.",
            "type": "string",
            "minLength": 1,
            "maxLength": 255
          },
          "file_reference_id": {
            "description": "The reference ID of the uploaded driver ZIP file.",
            "type": "string",
            "minLength": 1
          },
          "driver_support_id": {
            "description": "The ID of the associated driver support plugin.",
            "type": "string",
            "minLength": 1,
            "nullable": true
          },
          "license_file_id": {
            "description": "The .bin entitlement for a CData driver, given as a masking-files reference. Accepts either a file_reference_id (delphix-file://upload/...) or a FileUpload id (f_...). Required for CData drivers; rejected for non-CData drivers.",
            "type": "string",
            "minLength": 1,
            "nullable": true,
            "example": "delphix-file://upload/f_6af70917922542af89ea6e7c31e80205/Salesforce.bin"
          },
          "tags": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Tag"
            }
          },
          "make_current_account_owner": {
            "type": "boolean",
            "default": true,
            "description": "Whether the account creating this JDBC driver must be configured as owner of it."
          }
        }
      },
      "ComplianceJdbcDriverUpdateRequest": {
        "x-jackson-optional-nullable-helpers": true,
        "description": "Parameters used to update a Compliance JDBC driver.",
        "type": "object",
        "properties": {
          "name": {
            "description": "The JDBC driver name.",
            "type": "string",
            "minLength": 1,
            "maxLength": 255
          },
          "description": {
            "description": "The JDBC driver description.",
            "type": "string",
            "nullable": true,
            "x-is-jackson-optional-nullable": true
          },
          "class_name": {
            "description": "The fully qualified Java class name of the JDBC driver.",
            "type": "string",
            "minLength": 1,
            "maxLength": 255
          },
          "file_reference_id": {
            "description": "The reference ID of the uploaded driver ZIP file.",
            "type": "string",
            "minLength": 1
          },
          "driver_support_id": {
            "description": "The ID of the associated driver support plugin.",
            "type": "string",
            "minLength": 1,
            "nullable": true,
            "x-is-jackson-optional-nullable": true
          },
          "license_file_id": {
            "description": "The .bin entitlement for a CData driver, given as a masking-files reference. Accepts either a file_reference_id (delphix-file://upload/...) or a FileUpload id (f_...).",
            "type": "string",
            "minLength": 1,
            "nullable": true,
            "x-is-jackson-optional-nullable": true,
            "example": "delphix-file://upload/f_6af70917922542af89ea6e7c31e80205/Salesforce.bin"
          }
        }
      },
      "ConnectionProperty": {
        "description": "Connection property.",
        "type": "object",
        "properties": {
          "name": {
            "description": "The property name.",
            "type": "string",
            "example": "oracle.jdbc.LoginTimeout"
          },
          "value": {
            "description": "The property value",
            "type": "string",
            "example": "30"
          },
          "description": {
            "description": "The property description.",
            "type": "string",
            "example": "Login timeout in seconds"
          },
          "edited": {
            "description": "Whether this property has been set through connection properties file.",
            "type": "boolean",
            "example": true
          }
        }
      },
      "ExecutionStatus": {
        "description": "The status of a masking or discovery job.",
        "type": "string",
        "enum": [
          "PENDING",
          "QUEUED",
          "RUNNING",
          "CANCELLED",
          "FAILED",
          "SUCCEEDED",
          "WARNING",
          "WAITING"
        ],
        "example": "RUNNING"
      },
      "ExecutionStatusReason": {
        "description": "The reason for the status of a compliance job collection execution.",
        "type": "string",
        "enum": [
          "NONE",
          "JOB_FAILURE",
          "RESOURCE_UNREACHABLE",
          "DCT_JOB_CANCEL",
          "ENGINE_JOB_CANCEL",
          "JOB_MISSING"
        ],
        "example": "JOB_MISSING"
      },
      "Execution": {
        "description": "The execution of a masking or discovery job.",
        "type": "object",
        "properties": {
          "id": {
            "description": "The Execution entity ID.",
            "type": "string",
            "example": "414ed52c-fa89-455d-9fb9-9c2fa5115f80"
          },
          "engine_id": {
            "description": "The ID of the engine where this execution ran.",
            "type": "string",
            "example": "1"
          },
          "hyperscale_instance_id": {
            "type": "string"
          },
          "engine_name": {
            "description": "The name of the engine where this execution ran.",
            "type": "string",
            "example": "prod01"
          },
          "job_orchestrator_id": {
            "description": "The ID of the job orchestrator that is associated with this execution.",
            "type": "string"
          },
          "job_orchestrator_name": {
            "description": "The name of the job orchestrator that is associated with this execution.",
            "type": "string"
          },
          "masking_job_id": {
            "description": "The ID of the masking job that is being executed.",
            "type": "string",
            "example": "2"
          },
          "masking_job_name": {
            "description": "The name of the masking job that is being executed.",
            "type": "string",
            "example": "finance-masking-job"
          },
          "compliance_job_type": {
            "description": "The type of the compliance job being executed.",
            "type": "string",
            "enum": [
              "MASKING",
              "DISCOVERY",
              "TOKENIZATION",
              "REIDENTIFICATION"
            ],
            "example": "MASKING"
          },
          "dct_managed": {
            "description": "Indicates whether this execution is for a DCT-managed masking job.",
            "type": "boolean",
            "example": true
          },
          "source_connector_id": {
            "description": "The ID of the source connector. This field is only used for multi-tenant jobs that are also on-the-fly.",
            "type": "string",
            "example": "1-DATABASE-2"
          },
          "target_connector_id": {
            "description": "The ID of the target connector. This field is only used for multi-tenant jobs.",
            "type": "string",
            "example": "1-DATABASE-3"
          },
          "source_connector_name": {
            "description": "The name of the source connector. This field is only used for multi-tenant jobs that are also on-the-fly.",
            "type": "string",
            "example": "source-database"
          },
          "target_connector_name": {
            "description": "The name of the target connector. This field is only used for multi-tenant jobs.",
            "type": "string",
            "example": "target-database"
          },
          "status": {
            "$ref": "#/components/schemas/ExecutionStatus"
          },
          "rows_masked": {
            "description": "The number of rows masked or profiled so far by this execution. This is not applicable for JSON file type.",
            "type": "integer",
            "format": "int64",
            "example": 1000
          },
          "rows_total": {
            "description": "The total number of rows that this execution should mask. This value is set to -1 while the total row count is being calculated. This is not applicable for JSON file type.",
            "type": "integer",
            "format": "int64",
            "example": 5000
          },
          "bytes_processed": {
            "description": "The number of bytes masked so far by this execution. This is only applicable for JSON file type.",
            "type": "integer",
            "format": "int64",
            "example": 500
          },
          "bytes_total": {
            "description": "The total number of bytes that this execution should mask. This value is set to -1 while the total byte count is being calculated. This is only applicable for JSON file type.",
            "type": "integer",
            "format": "int64",
            "example": 5000000
          },
          "start_time": {
            "description": "The date and time that this execution was started.",
            "type": "string",
            "format": "date-time",
            "example": "2021-05-01T09:51:34.148000+00:00"
          },
          "submit_time": {
            "description": "The date and time that this execution was submitted.",
            "type": "string",
            "format": "date-time",
            "example": "2021-05-01T08:51:34.148000+00:00"
          },
          "end_time": {
            "description": "The date and time that this execution completed.",
            "type": "string",
            "format": "date-time",
            "example": "2021-05-01T11:51:34.148000+00:00"
          },
          "run_duration": {
            "description": "The time this execution spent running, in milliseconds.",
            "type": "integer",
            "format": "int64",
            "example": 4000
          },
          "queue_duration": {
            "description": "The time this execution spent in the queue, in milliseconds.",
            "type": "integer",
            "format": "int64",
            "example": 1000
          },
          "total_duration": {
            "description": "The total time this execution took, in milliseconds.",
            "type": "integer",
            "format": "int64",
            "example": 5000
          },
          "account_id": {
            "description": "The account id of the DCT user who started this execution.",
            "type": "integer",
            "format": "int64",
            "example": 3
          },
          "account_name": {
            "description": "The account name of the DCT user who started this execution.",
            "type": "string",
            "example": "username"
          },
          "task_events": {
            "description": "The progression of steps or events performed by this execution. Only available for executions on masking engines that are version 6.0.14.0 and higher.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/TaskEvent"
            },
            "example": [
              {
                "event": "Initializing",
                "status": "SUCCEEDED"
              },
              {
                "event": "Job Completed",
                "status": "FAILED"
              }
            ]
          },
          "hyperscale_task_events": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HyperscaleTaskEvent"
            }
          },
          "progress": {
            "description": "Progress of the task (value between 0 and 1, Hyperscale executions only)",
            "type": "number",
            "example": 0.34
          },
          "execution_components_total": {
            "description": "The total number of execution components in this execution.",
            "type": "integer",
            "format": "int32",
            "example": 5
          },
          "execution_components_processed": {
            "description": "The number of execution components processed so far in this execution.",
            "type": "integer",
            "format": "int32",
            "example": 3
          },
          "collection_execution_id": {
            "description": "The id of the compliance job collection execution this execution is part of, if any",
            "type": "string",
            "example": "54a0cbff-bdc6-49fd-8e71-e8b570524fe9"
          },
          "data_collection_complete": {
            "description": "Indicates whether all peripheral information associated with the execution, including execution components, execution events, logs and discovery results, has been fully collected and finalized.",
            "type": "boolean"
          },
          "owning_entity_id": {
            "description": "The owning entity ID of the target connector.",
            "type": "string"
          },
          "owning_entity_type": {
            "description": "The type of the owning entity, if any.",
            "type": "string",
            "enum": [
              "PAAS_INSTANCE"
            ]
          },
          "hyperscale_engine_count": {
            "description": "The number of hyperscale engines associated with this execution (Hyperscale executions only).",
            "type": "integer",
            "format": "int32",
            "example": 2
          },
          "engine_ids": {
            "description": "The IDs of the Hyperscale engines that were in effect at execution time (Hyperscale executions only). Empty for executions with no engine snapshot.",
            "type": "array",
            "items": {
              "type": "string"
            },
            "example": [
              "1",
              "2"
            ]
          }
        }
      },
      "HyperscaleTaskEvent": {
        "properties": {
          "name": {
            "type": "string",
            "description": "Name of the task (Unload, Masking, Load, Post-Load)",
            "example": "Unload"
          },
          "progress": {
            "description": "progress of the task (between 0 and 1)",
            "type": "number",
            "example": 0.34
          },
          "status": {
            "type": "string",
            "enum": [
              "CANCELLED",
              "CANCEL_INITIATED",
              "FAILED",
              "RUNNING",
              "SUCCEEDED"
            ],
            "example": "FAILED"
          },
          "processed_objects": {
            "description": "The number of objects (tables) already processed by this task.",
            "type": "integer",
            "format": "int64"
          },
          "processed_rows": {
            "description": "The number of rows already processed by this task.",
            "type": "integer",
            "format": "int64"
          },
          "processed_constraints": {
            "description": "The number of constraints processed by this task (Post-load task only)",
            "type": "integer",
            "format": "int64"
          },
          "total_constraints": {
            "description": "The total number of constraints to be processed by this task (Post-load task only)",
            "type": "integer",
            "format": "int64"
          },
          "processed_indexes": {
            "description": "The number of indexes processed by this task (Post-load task only)",
            "type": "integer",
            "format": "int64"
          },
          "total_indexes": {
            "description": "The total number of indexes to be processed by this task (Post-load task only)",
            "type": "integer",
            "format": "int64"
          },
          "processed_triggers": {
            "description": "The number of triggered processed by this task (Post-load task only)",
            "type": "integer",
            "format": "int64"
          },
          "total_triggers": {
            "description": "The total number of triggers to be processed by this task (Post-load task only)",
            "type": "integer",
            "format": "int64"
          },
          "start_time": {
            "description": "The date and time that this task was started.",
            "type": "string",
            "format": "date-time",
            "example": "2022-01-02T05:11:24.148000+00:00"
          },
          "end_time": {
            "description": "The date and time that this task completed.",
            "type": "string",
            "format": "date-time",
            "example": "2022-01-02T05:13:24.148000+00:00"
          },
          "errors": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HyperscaleTaskError"
            }
          }
        }
      },
      "HyperscaleTaskError": {
        "properties": {
          "table_name": {
            "type": "string",
            "description": "the name of the table for which the error occurred, including the schema.",
            "example": "public_schema.table_x"
          },
          "error": {
            "type": "string",
            "description": "A textual description of the error."
          }
        }
      },
      "TaskEvent": {
        "description": "A step or event performed by a masking execution.",
        "type": "object",
        "properties": {
          "event": {
            "description": "The steps or events a task will perform.",
            "type": "string",
            "example": "Job Completed"
          },
          "status": {
            "description": "The state of result of the task event.",
            "type": "string",
            "enum": [
              "CANCELLED",
              "FAILED",
              "QUEUED",
              "RUNNING",
              "SUCCEEDED",
              "SKIPPED",
              "NON_CONFORMANT"
            ],
            "example": "SUCCEEDED"
          },
          "index": {
            "description": "The ordinal position of this event among the execution's task events. An index of 0 on an execution with a single task event indicates a failure recorded before the execution reached the node (e.g. a pre-flight or pre-trigger failure), rather than a real, numbered execution step.",
            "type": "integer",
            "format": "int32",
            "example": 1
          }
        }
      },
      "ExecutionEvent": {
        "description": "Events, such as warnings or errors, associated with job executions.",
        "type": "object",
        "properties": {
          "id": {
            "description": "The ExecutionEvent entity ID.",
            "type": "string",
            "example": "1-EVENT-1"
          },
          "execution_id": {
            "description": "The ID of the execution.",
            "type": "string",
            "example": "414ed52c-fa89-455d-9fb9-9c2fa5115f80"
          },
          "execution_component_id": {
            "description": "The ID of the execution component.",
            "type": "string",
            "example": "123"
          },
          "event_type": {
            "description": "The type of execution event.",
            "type": "string",
            "enum": [
              "JOB_ABORTED",
              "UNMASKED_DATA",
              "MASKING_FALLBACK",
              "NONCONFORMANT_DATA_NULLIFICATION",
              "FILE_PATTERN_NO_MATCH",
              "DATA_FETCH_FAIL"
            ],
            "example": "JOB_ABORTED"
          },
          "severity": {
            "description": "The severity of the execution event.",
            "type": "string",
            "enum": [
              "INFO",
              "WARNING",
              "CRITICAL"
            ],
            "example": "INFO"
          },
          "cause": {
            "description": "The cause of the execution event.",
            "type": "string",
            "enum": [
              "UNHANDLED_EXCEPTION",
              "IGNORED_EXCEPTION",
              "PATTERN_MATCH_FAILURE",
              "PREMASK_TYPE_CONVERSION_FAILURE",
              "POSTMASK_TYPE_CONVERSION_FAILURE",
              "EXTENDED_ALGORITHM_FAILURE",
              "DRIVER_SUPPORT_TASK_FAILURE",
              "DATA_NOT_FOUND_FAILURE",
              "INVALID_JOB_CONFIGURATION",
              "DATA_QUERY_TIMEOUT",
              "SALESFORCE_BATCH_JOB_ERRORS"
            ],
            "example": "UNHANDLED_EXCEPTION"
          },
          "count": {
            "description": "The number of times the execution event occurred.",
            "type": "integer",
            "format": "int64",
            "example": 1
          },
          "timestamp": {
            "description": "The date and time that this execution event first occurred.",
            "type": "string",
            "format": "date-time",
            "example": "2023-03-20T08:51:34.148000+00:00"
          },
          "masked_object_name": {
            "description": "The name of the column, field, or other object being masked when this event occurred, if applicable.",
            "type": "string",
            "example": "ssn"
          },
          "algorithm_name": {
            "description": "The name of the masking algorithm running when this event occurred, if applicable.",
            "type": "string",
            "example": "SsnTK"
          },
          "exception_type": {
            "description": "The Java class of the exception that triggered this event, if applicable.",
            "type": "string",
            "example": "SQLException"
          },
          "exception_detail": {
            "description": "The details associated with the Java exception that triggered this event, if applicable.",
            "type": "string",
            "example": "Listener refused the connection with the following error: ORA-12505, TNS:listener does not currently know of SID given in connect descriptor"
          },
          "non_conformant_data_samples": {
            "description": "Non-conformant data samples captured for this execution event. Each sample is a\nredacted value plus the number of times it was observed. Populated only for events\nthat produce non-conformant samples (typically NONCONFORMANT_DATA_NULLIFICATION);\nan empty array for events that do not.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/NonConformantDataSample"
            }
          }
        }
      },
      "NonConformantDataHandling": {
        "description": "Job-level override for non-conformant data handling. Only valid for type=MASKING jobs; returns 400 if set on other job types. UNSPECIFIED or null defers to the global DefaultNonConformantDataHandling application setting (default: DONT_MASK). WARNING: When set to NULLIFY on database jobs, columns with NOT NULL constraints cannot be nullified -- those values will be left unmasked silently without an execution event being raised. See APIGW-24931.\n",
        "type": "string",
        "enum": [
          "FAIL",
          "DONT_MASK",
          "NULLIFY",
          "UNSPECIFIED"
        ],
        "example": "NULLIFY"
      },
      "NonConformantDataSample": {
        "description": "A non-conformant data sample observed by an execution event.",
        "type": "object",
        "properties": {
          "id": {
            "description": "The NonConformantDataSample entity ID.",
            "type": "string",
            "example": "1-12345"
          },
          "data_sample": {
            "description": "A non-conformant value observed during masking, redacted as needed.",
            "type": "string",
            "example": "NNNNNNNNNN"
          },
          "count": {
            "description": "Number of times this sample was observed.",
            "type": "integer",
            "format": "int64",
            "example": 3
          }
        }
      },
      "ExecutionLogsDownloadProperties": {
        "description": "Common properties for log file download information.",
        "type": "object",
        "properties": {
          "log": {
            "description": "The log file contents. If the log file is 100KB or smaller, the entire contents are returned.\nIf the log file is larger than 100KB, the response is truncated to include either the last 1000 lines\n(if they fit within 100KB) or as many lines as fit within the 100KB limit.\n",
            "type": "string"
          },
          "download_status": {
            "description": "The status of downloading the log file from the engine to DCT.\n- COLLECTED: The log file has been successfully downloaded and is available.\n- FAILED: The log file failed to download from Compliance Node or Engine to DCT.\n- NOT_AVAILABLE: The log file was not available on Compliance Node or Engine.\n- DELETED: The log file has been deleted from DCT.\n",
            "type": "string",
            "enum": [
              "COLLECTED",
              "FAILED",
              "NOT_AVAILABLE",
              "DELETED"
            ],
            "example": "COLLECTED"
          },
          "file_size": {
            "description": "The size of the log file in bytes.",
            "type": "integer",
            "format": "int64",
            "example": 1024
          },
          "is_truncated": {
            "description": "Whether the log content has been truncated because the file size exceeds 100KB. When true, only the last 1000 lines are included, subject to the 100KB limit.",
            "type": "boolean",
            "example": false
          },
          "file_download_id": {
            "description": "The ID of the file download record, which can be used to download the full log file via the file download API. Only present when download_status is COLLECTED.",
            "type": "string",
            "example": "3a4b5c6d-1234-5678-abcd-ef0123456789"
          }
        }
      },
      "ExecutionLog": {
        "description": "A log containing warnings or errors associated with a job execution.",
        "allOf": [
          {
            "type": "object",
            "properties": {
              "id": {
                "description": "The ExecutionLog entity ID.",
                "type": "string",
                "example": "1-LOG-1"
              },
              "execution_id": {
                "description": "The ID of the execution.",
                "type": "string",
                "example": "ea02f031-75d7-4c76-8747-2a7f04181451"
              },
              "masking_job_id": {
                "description": "The ID of the masking job that is being executed.",
                "type": "string",
                "example": "2"
              },
              "status": {
                "$ref": "#/components/schemas/ExecutionStatus"
              }
            }
          },
          {
            "$ref": "#/components/schemas/ExecutionLogsDownloadProperties"
          }
        ]
      },
      "ExecutionCancelParameters": {
        "description": "Parameters to cancel an execution.",
        "type": "object",
        "properties": {
          "expected_status": {
            "description": "The expected status of the execution to cancel to prevent cancelling a queued job that has transitioned to a running state since the request was issued (Standard Job only).",
            "type": "string",
            "enum": [
              "QUEUED",
              "RUNNING"
            ],
            "example": "QUEUED"
          }
        }
      },
      "ExecutionComponent": {
        "description": "An execution component associated with a job execution",
        "type": "object",
        "properties": {
          "id": {
            "description": "The ID of the execution component",
            "type": "string",
            "example": "123"
          },
          "name": {
            "description": "The name of the execution component",
            "type": "string",
            "example": "table_a"
          },
          "execution_id": {
            "description": "The ID of the execution",
            "type": "string",
            "example": "414ed52c-fa89-455d-9fb9-9c2fa5115f80"
          },
          "status": {
            "$ref": "#/components/schemas/ExecutionStatus"
          },
          "rows_masked": {
            "description": "The number of rows masked or profiled so far in the execution component. This is not applicable for JSON file type.",
            "type": "integer",
            "format": "int64",
            "example": 1000
          },
          "rows_total": {
            "description": "The total number of rows that should be masked or profiled in the execution component. This value is set to -1 while the total row count is being calculated. This is not applicable for JSON file type.",
            "type": "integer",
            "format": "int64",
            "example": 5000
          },
          "bytes_processed": {
            "description": "The number of bytes masked or profiled so far in the component. This is only applicable to JSON files and ASDD profiling jobs on XML files.",
            "type": "integer",
            "format": "int64",
            "example": 500
          },
          "bytes_total": {
            "description": "The total number of bytes that should be masked or profiled in the component. This value is set to -1 while the total byte count is being calculated. This is only applicable to JSON files and ASDD profiling jobs on XML files.",
            "type": "integer",
            "format": "int64",
            "example": 5000000
          },
          "start_time": {
            "description": "The date and time that the masking engine starts operating on the execution component.",
            "type": "string",
            "format": "date-time",
            "example": "2021-05-01T09:51:34.148000+00:00"
          },
          "end_time": {
            "description": "The date and time that the execution component is placed in a final state.",
            "type": "string",
            "format": "date-time",
            "example": "2021-05-01T11:51:34.148000+00:00"
          },
          "non_conforming_data_count": {
            "description": "The non-conforming data count for this execution component.",
            "type": "integer",
            "format": "int64",
            "example": 10
          }
        }
      },
      "ExecutionComponentLog": {
        "description": "A log containing information about an execution component",
        "allOf": [
          {
            "type": "object",
            "properties": {
              "execution_component_id": {
                "description": "The ID of the execution component",
                "type": "string",
                "example": "123"
              }
            }
          },
          {
            "$ref": "#/components/schemas/ExecutionLogsDownloadProperties"
          }
        ]
      },
      "UpdateMaskingJobParameters": {
        "type": "object",
        "description": "Parameters to update a MaskingJob.",
        "properties": {
          "name": {
            "type": "string",
            "description": "The name of the MaskingJob.",
            "minLength": 1,
            "maxLength": 1024,
            "example": "My favorite MaskingJob"
          },
          "connector_username": {
            "type": "string",
            "description": "The username of the Connector used by the MaskingJob. (Standard Job only).",
            "minLength": 1,
            "maxLength": 256,
            "example": "user123"
          },
          "connector_password": {
            "x-dct-toolkit-credential-field": true,
            "type": "string",
            "description": "The password of the Connector used by the MaskingJob. (Standard Job only).",
            "minLength": 1,
            "maxLength": 4096,
            "example": "password123"
          },
          "on_the_fly_source_connector_username": {
            "type": "string",
            "description": "The username of the source Connector used by the on-the-fly MaskingJob. (Standard Job only).",
            "minLength": 1,
            "maxLength": 256,
            "example": "user123"
          },
          "on_the_fly_source_connector_password": {
            "x-dct-toolkit-credential-field": true,
            "type": "string",
            "description": "The password of the source Connector used by the on-the-fly MaskingJob. (Standard Job only).",
            "minLength": 1,
            "maxLength": 4096,
            "example": "password123"
          },
          "description": {
            "description": "Description of the Job (Hyperscale Job only).",
            "type": "string",
            "example": "Job for app finance"
          },
          "dataset_id": {
            "description": "Dataset of the Hyperscale Job (Hyperscale Job only).",
            "type": "string",
            "example": "dataset-123"
          },
          "retain_execution_data": {
            "description": "Defines whether execution data will be stored after execution is complete (Hyperscale Job only).",
            "type": "string",
            "enum": [
              "NO",
              "ON_ERROR",
              "ALWAYS"
            ],
            "example": false
          },
          "max_memory": {
            "description": "Maximum memory to be allocated for each Masking job (Hyperscale Job only).",
            "type": "integer",
            "format": "int32",
            "example": 1024
          },
          "min_memory": {
            "description": "Minimum memory to be allocated for each Masking job (Hyperscale Job only).",
            "type": "integer",
            "format": "int32",
            "example": 1024
          },
          "feedback_size": {
            "description": "Feedback Size for each Masking job (Hyperscale Job only).",
            "type": "integer",
            "format": "int32",
            "example": 32
          },
          "stream_row_limit": {
            "description": "Stream Row Limit for each Masking job (Hyperscale Job only).",
            "type": "integer",
            "format": "int32",
            "example": 4
          },
          "num_input_streams": {
            "description": "Number of input streams to be configured for Masking Job (Hyperscale Job only).",
            "type": "integer",
            "format": "int32",
            "example": 4
          },
          "max_concurrent_source_connections": {
            "description": "Maximum number of parallel connection that the Hyperscale instance can have with the source datasource (Hyperscale Job only).",
            "type": "integer",
            "format": "int32",
            "example": 32
          },
          "max_concurrent_target_connections": {
            "description": "Maximum number of parallel connection that the Hyperscale instance can have with the target datasource (Hyperscale Job only).",
            "type": "integer",
            "format": "int32",
            "example": 32
          },
          "parallelism_degree": {
            "description": "The degree of parallelism (DOP) per Oracle job to recreate the index in the post-load process (Hyperscale Job only).",
            "type": "integer",
            "format": "int32",
            "example": 4
          }
        }
      },
      "ExecuteMaskingJobParameters": {
        "type": "object",
        "description": "Parameters to execute a MaskingJob.",
        "properties": {
          "engine_id": {
            "type": "string",
            "description": "The ID of the Engine to execute this MaskingJob on (Standard job only).",
            "minLength": 1,
            "example": "engine-123"
          }
        }
      },
      "ExecuteComplianceJobRequest": {
        "type": "object",
        "description": "Parameters to execute a compliance job.",
        "properties": {
          "target_connector_id": {
            "description": "The ID of the target connector. This field is only used for multi-tenant jobs.",
            "type": "string",
            "nullable": true,
            "example": "1-DATABASE-3"
          },
          "source_connector_id": {
            "description": "The ID of the source connector. This field is only used for multi-tenant and on-the-fly jobs.",
            "type": "string",
            "nullable": true,
            "example": "1-DATABASE-4"
          }
        }
      },
      "HyperscaleMountPoint": {
        "title": "HyperscaleMountPoint",
        "type": "object",
        "description": "A Mount Point for the Hyperscale instance to write to a staging area and engines to read from.",
        "required": [
          "hyperscale_instance_id"
        ],
        "properties": {
          "id": {
            "description": "The ID of the Hyperscale Mount Point.",
            "type": "string",
            "readOnly": true
          },
          "hyperscale_instance_id": {
            "description": "The ID of the Hyperscale instance of this Mount Point.",
            "type": "string"
          },
          "name": {
            "description": "Name of the mount, unique for a hyperscale instance. This name will be used as a directory name by the Hyperscale instance.",
            "type": "string"
          },
          "hostname": {
            "description": "The host name of the server.",
            "type": "string"
          },
          "mount_path": {
            "description": "The path to the directory on the filesystem to mount.",
            "type": "string"
          },
          "mount_type": {
            "description": "The type of mount filesystem. Enum having values- CIFS, NFS3, NFS4.",
            "type": "string",
            "enum": [
              "CIFS",
              "NFS3",
              "NFS4"
            ]
          },
          "options": {
            "type": "string",
            "description": "The options for mount. The endpoint will return all default options and user specified options."
          },
          "staging_storage_type": {
            "description": "The type of staging storage.",
            "type": "string",
            "enum": [
              "MOUNT",
              "AWS_S3",
              "AZURE_BLOB_STORAGE"
            ]
          },
          "auth_mechanism": {
            "description": "The authentication mechanism for AWS_S3 storage.",
            "type": "string",
            "enum": [
              "AWS_ROLE",
              "AWS_SECRET"
            ]
          },
          "aws_bucket_name": {
            "type": "string",
            "description": "The aws bucket name for AWS_S3 storage."
          },
          "aws_bucket_region": {
            "type": "string",
            "description": "The aws bucket region for AWS_S3 storage."
          },
          "aws_bucket_prefix": {
            "type": "string",
            "description": "The aws bucket prefix for AWS_S3 storage."
          },
          "aws_bucket_delimiter": {
            "type": "string",
            "description": "The aws bucket delimiter for AWS_S3 storage."
          },
          "blob_auth_type": {
            "description": "The authentication type for Azure blob storage.",
            "type": "string",
            "enum": [
              "AZURE_SECRET",
              "AZURE_MANAGED_IDENTITY"
            ]
          },
          "blob_account_name": {
            "type": "string",
            "description": "The storage account name for Azure blob storage."
          },
          "blob_container_name": {
            "type": "string",
            "description": "The blob container name for Azure blob storage."
          },
          "blob_container_prefix": {
            "type": "string",
            "description": "The blob container prefix for Azure blob storage."
          },
          "blob_container_delimiter": {
            "type": "string",
            "description": "The blob container delimiter for Azure blob storage."
          }
        }
      },
      "HyperscaleMountPointUpdateParameters": {
        "title": "HyperscaleMountPointUpdateParameters",
        "type": "object",
        "description": "The updatable properties of a Hyperscale Mount Point.",
        "properties": {
          "name": {
            "description": "Name of the mount, unique for a hyperscale instance.",
            "type": "string"
          },
          "hostname": {
            "description": "The host name of the server.",
            "type": "string"
          },
          "mount_path": {
            "description": "The path to the directory on the filesystem to mount.",
            "type": "string"
          },
          "mount_type": {
            "description": "The type of filesystem.",
            "type": "string",
            "enum": [
              "CIFS",
              "NFS3",
              "NFS4"
            ]
          },
          "options": {
            "type": "string",
            "description": "The mount options."
          }
        }
      },
      "FileMetadata": {
        "title": "FileMetadata",
        "type": "object",
        "description": "A file metadata record linking a specific file to a ruleset and file format, or a DATASET row linking a mainframe dataset to a ruleset and copybook.",
        "properties": {
          "id": {
            "description": "The ID of the file metadata record.",
            "type": "string",
            "readOnly": true
          },
          "rule_set_id": {
            "description": "The ID of the parent ruleset.",
            "type": "string",
            "readOnly": true
          },
          "rule_set_name": {
            "description": "The name of the parent ruleset.",
            "type": "string",
            "readOnly": true
          },
          "connector_id": {
            "description": "The ID of the file connector (derived from the ruleset).",
            "type": "string",
            "readOnly": true
          },
          "connector_name": {
            "description": "The name of the file connector.",
            "type": "string",
            "readOnly": true
          },
          "object_type": {
            "description": "The file type (derived from the connector, e.g. DELIMITED).",
            "type": "string",
            "readOnly": true
          },
          "file_name": {
            "description": "The file name or regex pattern to match.",
            "type": "string"
          },
          "name_is_regex": {
            "description": "Whether file_name is a regex pattern. Defaults to false.",
            "type": "boolean",
            "default": false
          },
          "file_format_id": {
            "description": "The ID of the file format used to parse this file.",
            "type": "string"
          },
          "file_format_name": {
            "description": "The name of the file format.",
            "type": "string",
            "readOnly": true
          },
          "field_delimiter_tx": {
            "description": "The field delimiter character.",
            "type": "string",
            "maxLength": 50
          },
          "enclosure_tx": {
            "description": "The enclosure character (exactly 1 char, not whitespace/control).",
            "type": "string",
            "maxLength": 1,
            "nullable": true
          },
          "end_of_record": {
            "description": "The string of characters that delineates the end-of-record for the file. Note that for Unix line endings use \"linux\", and for Windows line endings use \"windows\" (both case-insensitive). Any other string value is also accepted. Applies to DELIMITED connectors only and must not be set for JSON connectors; FIXED_WIDTH connectors have additional restrictions.",
            "type": "string",
            "maxLength": 25
          },
          "enclosure_escape_character": {
            "description": "The enclosure escape character. Required when enclosure_tx is set.",
            "type": "string",
            "maxLength": 1,
            "nullable": true
          },
          "escape_enclosure_escape_character": {
            "description": "Whether to escape the enclosure escape character. Requires enclosure_tx.",
            "type": "boolean",
            "default": false
          },
          "whole_file_masking": {
            "description": "Whether to mask the whole file. Always false for DELIMITED.",
            "type": "boolean",
            "default": false,
            "readOnly": true
          },
          "mainframe_dataset_format_id": {
            "description": "ID of the associated mainframe dataset format (copybook). Present for DATASET rows.",
            "type": "string",
            "readOnly": true
          },
          "mainframe_dataset_format_name": {
            "description": "Name of the associated mainframe dataset format. Present for DATASET rows.",
            "type": "string",
            "readOnly": true
          },
          "mf_file_structure": {
            "description": "Mainframe file structure. FIXED_BLOCKED (2) or VARIABLE_BLOCKED (4). Present for DATASET rows.",
            "type": "string",
            "enum": [
              "FIXED_BLOCKED",
              "VARIABLE_BLOCKED"
            ],
            "readOnly": true
          }
        }
      },
      "FileMetadataCreateRequest": {
        "title": "FileMetadataCreateRequest",
        "type": "object",
        "description": "Parameters used to create a DELIMITED, JSON, FIXED_WIDTH, or MAINFRAME_DATASET (DATASET) file metadata record.",
        "required": [
          "rule_set_id",
          "file_name",
          "object_type"
        ],
        "properties": {
          "object_type": {
            "type": "string",
            "enum": [
              "DELIMITED",
              "FIXED_WIDTH",
              "JSON",
              "XML",
              "PARQUET",
              "DATASET"
            ],
            "description": "The object type for this file metadata record. Same as file_type for DELIMITED, JSON, FIXED_WIDTH, XML and PARQUET connectors; DATASET for MAINFRAME_DATASET connectors. Must match the connector type. When object_type is DATASET, mainframe_dataset_format_id is required and file_format_id must not be set. When object_type is not DATASET, file_format_id is required and mainframe_dataset_format_id must not be set.\n"
          },
          "rule_set_id": {
            "description": "The ID of the parent ruleset. Its connector must be DELIMITED, JSON, or FIXED_WIDTH.",
            "type": "string"
          },
          "file_name": {
            "description": "The file name or regex pattern. Must be unique within the ruleset.",
            "type": "string",
            "minLength": 1,
            "maxLength": 240
          },
          "file_format_id": {
            "description": "The ID of the file format. Required for FILE object types (DELIMITED, JSON, FIXED_WIDTH); must not be set for DATASET object types.",
            "type": "string"
          },
          "field_delimiter_tx": {
            "description": "The field delimiter character. DELIMITED only; must not be set for JSON or FIXED_WIDTH connectors.",
            "type": "string",
            "minLength": 1,
            "maxLength": 50
          },
          "end_of_record": {
            "description": "The string of characters that delineates the end-of-record for the file. Note that for Unix line endings use \"linux\", and for Windows line endings use \"windows\" (both case-insensitive). Any other string value is also accepted. Applies to DELIMITED connectors only and must not be set for JSON connectors; FIXED_WIDTH connectors have additional restrictions.",
            "type": "string",
            "minLength": 1,
            "maxLength": 25
          },
          "name_is_regex": {
            "description": "Whether file_name is a regex pattern. Defaults to false.",
            "type": "boolean",
            "default": false
          },
          "enclosure_tx": {
            "description": "The enclosure character (exactly 1 char, not whitespace/control).",
            "type": "string",
            "maxLength": 1
          },
          "enclosure_escape_character": {
            "description": "The enclosure escape character. Required when enclosure_tx is set.",
            "type": "string",
            "maxLength": 1
          },
          "escape_enclosure_escape_character": {
            "description": "Whether to escape the enclosure escape character. Requires enclosure_tx.",
            "type": "boolean",
            "default": false
          },
          "whole_file_masking": {
            "type": "boolean",
            "default": false,
            "description": "When true, the entire file is treated as a single masked unit. Valid only for FIXED_WIDTH connectors. Requires the file format to have exactly 1 record type with exactly 1 field. Must not be combined with end_of_record.\n"
          },
          "mainframe_dataset_format_id": {
            "type": "string",
            "description": "ID of the mainframe dataset format (copybook) to associate with this dataset. Required when the connector is MAINFRAME_DATASET; rejected for FILE connectors.\n"
          },
          "mf_file_structure": {
            "type": "string",
            "enum": [
              "FIXED_BLOCKED",
              "VARIABLE_BLOCKED"
            ],
            "description": "Mainframe file structure. FIXED_BLOCKED (default) or VARIABLE_BLOCKED. Only valid for MAINFRAME_DATASET connectors; rejected for FILE connectors. Stored internally as an integer (FIXED_BLOCKED=2, VARIABLE_BLOCKED=4).\n"
          },
          "make_current_account_owner": {
            "type": "boolean",
            "default": true,
            "description": "Accepted for API consistency. FileMetadata inherits access through its parent RuleSet and has no direct ownership; this field has no effect."
          }
        }
      },
      "FileMetadataUpdateRequest": {
        "title": "FileMetadataUpdateRequest",
        "type": "object",
        "description": "Fields to update on a file metadata record. Send only changed fields. null = clear. DATASET-only fields are rejected for FILE rows and vice versa.",
        "x-jackson-optional-nullable-helpers": true,
        "properties": {
          "file_name": {
            "description": "New file name. Only allowed when name_is_regex=true.",
            "type": "string",
            "minLength": 1,
            "maxLength": 240
          },
          "file_format_id": {
            "description": "New file format ID.",
            "type": "string"
          },
          "field_delimiter_tx": {
            "description": "New field delimiter character.",
            "type": "string",
            "maxLength": 50
          },
          "end_of_record": {
            "description": "The string of characters that delineates the end-of-record for the file. Note that for Unix line endings use \"linux\", and for Windows line endings use \"windows\" (both case-insensitive). Any other string value is also accepted.",
            "type": "string",
            "maxLength": 25
          },
          "name_is_regex": {
            "description": "Whether file_name is treated as a regex.",
            "type": "boolean"
          },
          "enclosure_tx": {
            "description": "New enclosure character. null to clear.",
            "type": "string",
            "maxLength": 1,
            "nullable": true,
            "x-is-jackson-optional-nullable": true
          },
          "enclosure_escape_character": {
            "description": "New enclosure escape character. null to clear.",
            "type": "string",
            "maxLength": 1,
            "nullable": true,
            "x-is-jackson-optional-nullable": true
          },
          "escape_enclosure_escape_character": {
            "description": "Whether to escape the enclosure escape character.",
            "type": "boolean"
          },
          "whole_file_masking": {
            "description": "Set or clear whole-file masking. Valid only for FIXED_WIDTH connectors. Absent means leave unchanged.\n",
            "type": "boolean"
          },
          "mainframe_dataset_format_id": {
            "type": "string",
            "description": "Updated mainframe dataset format ID. DATASET rows only."
          },
          "mf_file_structure": {
            "type": "string",
            "enum": [
              "FIXED_BLOCKED",
              "VARIABLE_BLOCKED"
            ],
            "description": "Updated file structure. DATASET rows only."
          }
        }
      },
      "MountInformation": {
        "title": "MountInformation",
        "type": "object",
        "description": "A mount point configuration for use with file connectors in DCT headless masking.",
        "required": [
          "name",
          "host_address",
          "mount_path",
          "type"
        ],
        "properties": {
          "id": {
            "description": "The ID of the Mount Information.",
            "type": "string",
            "readOnly": true
          },
          "name": {
            "description": "A unique name for the mount point.",
            "type": "string"
          },
          "host_address": {
            "description": "The host name or IP address of the server providing the mount.",
            "type": "string"
          },
          "mount_path": {
            "description": "The path on the remote server to mount.",
            "type": "string"
          },
          "type": {
            "description": "The type of mount filesystem.",
            "type": "string",
            "enum": [
              "CIFS",
              "NFS3",
              "NFS4",
              "EXTERNAL"
            ]
          },
          "connect_on_startup": {
            "description": "Whether to connect this mount point on startup. Defaults to true.",
            "type": "boolean",
            "default": true
          },
          "status": {
            "description": "The current status of the mount point. Always DISCONNECTED on creation.",
            "type": "string",
            "enum": [
              "ACTIVE",
              "DISCONNECTED"
            ],
            "readOnly": true
          },
          "options": {
            "description": "Mount options string. For CIFS mounts, the password field is extracted and stored separately.",
            "type": "string"
          },
          "mount_device": {
            "description": "The device path of the mount (populated in containerized environments only).",
            "type": "string",
            "readOnly": true
          },
          "local_mount_path": {
            "description": "The local mount path (populated in containerized environments only).",
            "type": "string",
            "readOnly": true
          },
          "tags": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Tag"
            }
          },
          "account_id": {
            "description": "The ID of the account that created this mount point.",
            "type": "string",
            "readOnly": true
          },
          "account_name": {
            "description": "The username of the account that created this mount point.",
            "type": "string",
            "readOnly": true
          },
          "job_orchestrator_id": {
            "description": "The ID of the job orchestrator associated with this mount point.",
            "type": "string",
            "readOnly": true
          },
          "job_orchestrator_name": {
            "description": "The name of the job orchestrator associated with this mount point.",
            "type": "string",
            "readOnly": true
          }
        }
      },
      "MountInformationUpdateRequest": {
        "title": "MountInformationUpdateRequest",
        "type": "object",
        "description": "The updatable properties of a Mount Information. Only allowed when status is DISCONNECTED.",
        "properties": {
          "name": {
            "description": "A unique name for the mount point.",
            "type": "string"
          },
          "host_address": {
            "description": "The host name or IP address of the server providing the mount.",
            "type": "string"
          },
          "mount_path": {
            "description": "The path on the remote server to mount.",
            "type": "string"
          },
          "connect_on_startup": {
            "description": "Whether to connect this mount point on startup.",
            "type": "boolean"
          },
          "options": {
            "x-dct-toolkit-credential-field": true,
            "description": "Mount options string. For CIFS mounts, the password field is extracted and stored separately.",
            "type": "string"
          }
        }
      },
      "MountInformationCreateRequest": {
        "title": "MountInformationCreateRequest",
        "type": "object",
        "description": "Parameters used to create a Mount Information.",
        "required": [
          "name",
          "host_address",
          "mount_path",
          "type"
        ],
        "properties": {
          "name": {
            "description": "A unique name for the mount point.",
            "type": "string"
          },
          "host_address": {
            "description": "The host name or IP address of the server providing the mount.",
            "type": "string"
          },
          "mount_path": {
            "description": "The path on the remote server to mount.",
            "type": "string"
          },
          "type": {
            "description": "The type of mount filesystem.",
            "type": "string",
            "enum": [
              "CIFS",
              "NFS3",
              "NFS4"
            ]
          },
          "connect_on_startup": {
            "description": "Whether to connect this mount point on startup. Defaults to true.",
            "type": "boolean",
            "default": true
          },
          "options": {
            "x-dct-toolkit-credential-field": true,
            "description": "Mount options string. For CIFS mounts, the password field is extracted and stored separately.",
            "type": "string"
          },
          "make_current_account_owner": {
            "type": "boolean",
            "default": true,
            "description": "Whether the account creating this mount information must be configured as owner of it."
          },
          "tags": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Tag"
            }
          }
        }
      },
      "ValidateHyperscaleMountPointResponse": {
        "title": "ValidateHyperscaleMountPointResponse",
        "type": "object",
        "description": "Mount File system permissions validation.",
        "properties": {
          "isValid": {
            "description": "The flag to validate whether a file mount is valid.",
            "type": "boolean",
            "default": false
          }
        },
        "example": {
          "isValid": true
        }
      },
      "RecordType": {
        "title": "RecordType",
        "type": "object",
        "description": "A record type configuration for use with file connectors in DCT headless masking.",
        "required": [
          "file_format_id",
          "record_type_name"
        ],
        "properties": {
          "id": {
            "description": "The ID of the Record Type.",
            "type": "string",
            "readOnly": true
          },
          "file_format_id": {
            "description": "The ID of the file format this record type belongs to.",
            "type": "string"
          },
          "record_type_name": {
            "description": "The name of the record type.",
            "type": "string"
          },
          "header_body_trailer_cd": {
            "description": "Row category code. Always B (body) for API-created record types.",
            "type": "string",
            "readOnly": true
          },
          "account_id": {
            "description": "The ID of the account that created this record type.",
            "type": "string",
            "readOnly": true
          },
          "account_name": {
            "description": "The username of the account that created this record type.",
            "type": "string",
            "readOnly": true
          },
          "file_format_name": {
            "description": "The name of the file format this record type belongs to.",
            "type": "string",
            "readOnly": true
          },
          "record_sequence_no": {
            "description": "The sequence number of this record type within the file format.",
            "type": "integer",
            "readOnly": true
          },
          "position_no": {
            "description": "The position number used to identify this record type within a row.",
            "type": "integer",
            "readOnly": true
          },
          "length_no": {
            "description": "The length of the record type identifier field.",
            "type": "integer",
            "readOnly": true
          }
        }
      },
      "FileFieldMetadata": {
        "title": "FileFieldMetadata",
        "type": "object",
        "description": "A file field metadata entry with its masking configuration.",
        "required": [
          "id",
          "name",
          "position_no",
          "length_no",
          "record_type_id",
          "is_masked"
        ],
        "properties": {
          "id": {
            "type": "string",
            "readOnly": true,
            "description": "The UUID of this file field."
          },
          "name": {
            "type": "string",
            "description": "The field name. For nested file types (JSON, PARQUET, XML) this is the full column path (e.g. \"$['home']['city']\", or \"<xpath>@<attr>\" for XML attributes); for flat types (DELIMITED, FIXED_WIDTH) it is the leaf column name. Filtering and sorting by `name` always match the leaf column; use `xpath` to filter/sort by the full path. `xpath` is a search/sort key only and is not returned as a separate response field.\n"
          },
          "position_no": {
            "type": "integer",
            "description": "The 0-based column position."
          },
          "length_no": {
            "type": "integer",
            "description": "The byte length."
          },
          "record_type_id": {
            "type": "string",
            "description": "The UUID of the parent record type."
          },
          "record_type_name": {
            "type": "string",
            "readOnly": true,
            "nullable": true,
            "description": "The name of the parent record type."
          },
          "file_format_id": {
            "type": "string",
            "readOnly": true,
            "nullable": true,
            "description": "The UUID of the parent file format."
          },
          "file_format_name": {
            "type": "string",
            "readOnly": true,
            "nullable": true,
            "description": "The name of the parent file format."
          },
          "algorithm_id": {
            "type": "string",
            "nullable": true,
            "description": "The UUID of the assigned algorithm."
          },
          "algorithm_name": {
            "type": "string",
            "readOnly": true,
            "nullable": true,
            "description": "The name of the assigned algorithm."
          },
          "data_class_id": {
            "type": "string",
            "nullable": true,
            "description": "The UUID of the assigned data class."
          },
          "data_class_name": {
            "type": "string",
            "readOnly": true,
            "nullable": true,
            "description": "The name of the assigned data class."
          },
          "algorithm_field_id": {
            "type": "string",
            "nullable": true,
            "description": "The UUID of the algorithm field (multi-column algorithms only)."
          },
          "algorithm_field_name": {
            "type": "string",
            "readOnly": true,
            "nullable": true,
            "description": "The name of the algorithm field."
          },
          "algorithm_group_no": {
            "type": "integer",
            "format": "int64",
            "nullable": true,
            "description": "The group number for multi-column algorithms."
          },
          "date_format": {
            "type": "string",
            "nullable": true,
            "description": "The date format string for LOCAL_DATE_TIME algorithms."
          },
          "comment": {
            "type": "string",
            "nullable": true,
            "description": "An optional comment."
          },
          "is_masked": {
            "type": "boolean",
            "readOnly": true,
            "description": "Whether this field is included as a masked field in the masking job configuration (stored flag, updated on masking job execution)."
          },
          "document_store_type": {
            "type": "string",
            "nullable": true,
            "enum": [
              "JSON",
              "XML"
            ],
            "description": "Indicates that this field contains an embedded structured document."
          },
          "doc_store_file_format_id": {
            "type": "string",
            "nullable": true,
            "description": "The UUID of the embedded document's file format."
          },
          "doc_store_file_format_name": {
            "type": "string",
            "readOnly": true,
            "nullable": true,
            "description": "The name of the embedded document's file format."
          },
          "is_profiler_writable": {
            "type": "boolean",
            "readOnly": true,
            "description": "This field indicates whether or not a file field's algorithm or domain assignment may be modified during the execution of a profile job when there is a profiling match."
          }
        }
      },
      "FileFieldMetadataUpdateRequest": {
        "title": "FileFieldMetadataUpdateRequest",
        "type": "object",
        "x-jackson-optional-nullable-helpers": true,
        "description": "The updatable properties of a File Field Metadata entry. All fields are optional. Fields marked nullable use JsonNullable semantics - passing explicit null clears the field. Note: name (renaming) is not supported via PATCH; use DELETE + POST to rename.\n",
        "properties": {
          "position_no": {
            "type": "integer",
            "minimum": 0,
            "description": "The 0-based column position. Omit to leave unchanged."
          },
          "length_no": {
            "type": "integer",
            "minimum": 0,
            "description": "The byte length. Omit to leave unchanged."
          },
          "record_type_id": {
            "type": "string",
            "description": "Reassign this field to a different record type within the same file format. Omit to leave unchanged."
          },
          "algorithm_id": {
            "type": "string",
            "nullable": true,
            "x-is-jackson-optional-nullable": true,
            "description": "The UUID of the algorithm to assign. Pass null to clear. Must be set together with data_class_id."
          },
          "data_class_id": {
            "type": "string",
            "nullable": true,
            "x-is-jackson-optional-nullable": true,
            "description": "The UUID of the data class. Pass null to clear. Setting data_class_id without algorithm_id infers the data class default algorithm."
          },
          "algorithm_field_id": {
            "type": "string",
            "nullable": true,
            "x-is-jackson-optional-nullable": true,
            "description": "The UUID of the algorithm field for multi-column algorithms. Pass null to clear; clearing either field auto-clears the other."
          },
          "algorithm_group_no": {
            "type": "integer",
            "format": "int64",
            "nullable": true,
            "x-is-jackson-optional-nullable": true,
            "description": "The group number for multi-column algorithms. Pass null to clear; clearing either field auto-clears the other."
          },
          "date_format": {
            "type": "string",
            "nullable": true,
            "x-is-jackson-optional-nullable": true,
            "description": "The date format string for LOCAL_DATE_TIME algorithms. Pass null to clear."
          },
          "comment": {
            "type": "string",
            "nullable": true,
            "x-is-jackson-optional-nullable": true,
            "description": "An optional comment. Pass null to clear."
          },
          "document_store_type": {
            "type": "string",
            "nullable": true,
            "x-is-jackson-optional-nullable": true,
            "enum": [
              "JSON",
              "XML"
            ],
            "description": "Sets this field as a document-store container. Pass null to clear. Mutually exclusive with algorithm_id/data_class_id.\n"
          },
          "doc_store_file_format_id": {
            "type": "string",
            "nullable": true,
            "x-is-jackson-optional-nullable": true,
            "description": "The UUID of the embedded document's file format. Required when document_store_type is set."
          }
        }
      },
      "FileFieldMetadataCreateRequest": {
        "title": "FileFieldMetadataCreateRequest",
        "type": "object",
        "required": [
          "record_type_id",
          "name",
          "position_no"
        ],
        "properties": {
          "record_type_id": {
            "type": "string",
            "description": "The UUID of the parent record type."
          },
          "name": {
            "type": "string",
            "description": "The name of this field."
          },
          "position_no": {
            "type": "integer",
            "minimum": 0,
            "description": "The 0-based column position. Must be >= 0."
          },
          "length_no": {
            "type": "integer",
            "minimum": 0,
            "default": 0,
            "description": "The byte length. Defaults to 0."
          },
          "algorithm_id": {
            "type": "string",
            "nullable": true,
            "description": "Requires data_class_id when set."
          },
          "data_class_id": {
            "type": "string",
            "nullable": true,
            "description": "Infers default algorithm when algorithm_id is absent."
          },
          "algorithm_field_id": {
            "type": "string",
            "nullable": true,
            "description": "Required when the algorithm is multi-column (GENERIC_DATA_ROW)."
          },
          "algorithm_group_no": {
            "type": "integer",
            "format": "int64",
            "nullable": true,
            "description": "Required when the algorithm is multi-column."
          },
          "date_format": {
            "type": "string",
            "nullable": true,
            "description": "Required when algorithm maskingType is LOCAL_DATE_TIME."
          },
          "comment": {
            "type": "string",
            "nullable": true
          },
          "document_store_type": {
            "type": "string",
            "nullable": true,
            "enum": [
              "JSON",
              "XML"
            ],
            "description": "Mutually exclusive with algorithm_id/data_class_id."
          },
          "doc_store_file_format_id": {
            "type": "string",
            "nullable": true,
            "description": "Required when document_store_type is set."
          }
        }
      },
      "RecordTypeUpdateRequest": {
        "title": "RecordTypeUpdateRequest",
        "type": "object",
        "description": "The updatable properties of a Record Type.",
        "properties": {
          "record_type_name": {
            "description": "The name of the record type.",
            "type": "string"
          }
        }
      },
      "RecordTypeCreateRequest": {
        "title": "RecordTypeCreateRequest",
        "type": "object",
        "description": "Parameters used to create a Record Type.",
        "required": [
          "file_format_id",
          "record_type_name",
          "masking_file_upload_id"
        ],
        "properties": {
          "file_format_id": {
            "description": "The ID of the file format this record type belongs to.",
            "type": "string"
          },
          "record_type_name": {
            "description": "The name of the record type.",
            "type": "string"
          },
          "masking_file_upload_id": {
            "description": "The ID of a previously uploaded masking file containing column definitions for this record type.",
            "type": "string"
          }
        }
      },
      "RecordTypeQualifier": {
        "title": "RecordTypeQualifier",
        "type": "object",
        "description": "A pattern-matching rule that identifies which record type a row belongs to.",
        "required": [
          "record_type_id",
          "record_type_identifier",
          "position_no"
        ],
        "properties": {
          "id": {
            "description": "The ID of the Record Type Qualifier.",
            "type": "string",
            "readOnly": true
          },
          "record_type_id": {
            "description": "The ID of the parent record type.",
            "type": "string"
          },
          "record_type_name": {
            "description": "The name of the parent record type.",
            "type": "string",
            "readOnly": true,
            "nullable": true
          },
          "file_format_id": {
            "description": "The ID of the file format that owns this qualifier's record type.",
            "type": "string",
            "readOnly": true,
            "nullable": true
          },
          "file_format_name": {
            "description": "The name of the file format that owns this qualifier's record type.",
            "type": "string",
            "readOnly": true,
            "nullable": true
          },
          "record_type_identifier": {
            "description": "The pattern value matched at the given byte position.",
            "type": "string",
            "maxLength": 255
          },
          "position_no": {
            "description": "The byte offset within the row at which matching begins. Derived from the referenced file field - not client-supplied.",
            "type": "integer",
            "readOnly": true
          },
          "file_field_metadata_id": {
            "description": "The ID of the file field at this qualifier's byte position, resolved on read from (record_type_id, position_no). Null if no file field currently occupies that position.",
            "type": "string",
            "readOnly": true
          },
          "length_no": {
            "description": "The number of bytes read for pattern comparison. Always 0 - retained for engine wire-format (proto field 6) compatibility.",
            "type": "integer",
            "readOnly": true
          },
          "account_id": {
            "description": "The ID of the account that created this qualifier.",
            "type": "string",
            "readOnly": true
          },
          "account_name": {
            "description": "The username of the account that created this qualifier.",
            "type": "string",
            "readOnly": true
          }
        }
      },
      "RecordTypeQualifierCreateRequest": {
        "title": "RecordTypeQualifierCreateRequest",
        "type": "object",
        "description": "Parameters used to create a Record Type Qualifier.",
        "required": [
          "record_type_id",
          "record_type_identifier",
          "file_field_metadata_id"
        ],
        "properties": {
          "record_type_id": {
            "description": "The ID of the parent record type.",
            "type": "string"
          },
          "record_type_identifier": {
            "description": "The pattern value matched at the given byte position. Non-blank, no leading/trailing spaces.",
            "type": "string",
            "maxLength": 255
          },
          "file_field_metadata_id": {
            "description": "The ID of the file field whose byte position the qualifier matches on. Must belong to the same record type. The qualifier's position_no is derived from this field.",
            "type": "string"
          }
        }
      },
      "RecordTypeQualifierUpdateRequest": {
        "title": "RecordTypeQualifierUpdateRequest",
        "type": "object",
        "description": "Parameters used to update a Record Type Qualifier. record_type_id, record_type_identifier and file_field_metadata_id are all required; record_type_id is immutable.\n",
        "required": [
          "record_type_id",
          "record_type_identifier",
          "file_field_metadata_id"
        ],
        "properties": {
          "record_type_id": {
            "description": "Required and immutable. Must reference an existing record type (404 otherwise) and equal the persisted parent (400 if different).",
            "type": "string"
          },
          "record_type_identifier": {
            "description": "The pattern value matched at the given byte position. Non-blank, no leading/trailing spaces. Required.",
            "type": "string",
            "maxLength": 255
          },
          "file_field_metadata_id": {
            "description": "The file field the qualifier's position_no is re-derived from. Must belong to the qualifier's record type. Required.",
            "type": "string"
          }
        }
      },
      "HyperscaleConnector": {
        "title": "HyperscaleConnector",
        "type": "object",
        "description": "A Hyperscale connector to read/write data from/to a datasource.",
        "properties": {
          "id": {
            "description": "The ID of the Hyperscale Connector.",
            "type": "string",
            "readOnly": true
          },
          "hyperscale_instance_id": {
            "description": "The ID of the Hyperscale instance of this Connector.",
            "type": "string"
          },
          "data_type": {
            "$ref": "#/components/schemas/HyperscaleDataTypeEnum"
          },
          "name": {
            "type": "string"
          },
          "source_username": {
            "description": "The username this Connector will use to connect to the source database.",
            "type": "string"
          },
          "source_password": {
            "x-dct-toolkit-credential-field": true,
            "description": "The password this Connector will use to connect to the source database.",
            "type": "string"
          },
          "source_jdbc_url": {
            "description": "The JDBC URL used to connect to the source database.",
            "type": "string"
          },
          "source_mongo_url": {
            "description": "The MongoDB URL used to connect to the source database.",
            "type": "string",
            "example": "mongodb://host:27017"
          },
          "source_filesystem_path": {
            "description": "The path on the filesystem where source files must be read (Delimited files Only).",
            "type": "string"
          },
          "source_connection_properties": {
            "additionalProperties": {
              "type": "string"
            }
          },
          "target_username": {
            "description": "The username this Connector will use to connect to the target database.",
            "type": "string"
          },
          "target_password": {
            "x-dct-toolkit-credential-field": true,
            "description": "The username this Connector will use to connect to the target database.",
            "type": "string"
          },
          "target_jdbc_url": {
            "description": "The JDBC URL used to connect to the target database.",
            "type": "string"
          },
          "target_mongo_url": {
            "description": "The MongoDB URL used to connect to the target database.",
            "type": "string",
            "example": "mongodb://host:27017"
          },
          "target_filesystem_path": {
            "description": "The path on the filesystem where target files must be written (Delimited files Only).",
            "type": "string"
          },
          "target_connection_properties": {
            "additionalProperties": {
              "type": "string"
            }
          },
          "tags": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Tag"
            }
          }
        }
      },
      "HyperscaleConnectorCreateParameters": {
        "title": "HyperscaleConnectorCreateParameters",
        "type": "object",
        "description": "Parameters to create a Hyperscale Connector.",
        "properties": {
          "hyperscale_instance_id": {
            "description": "The ID of the Hyperscale instance of this Connector.",
            "type": "string"
          },
          "data_type": {
            "$ref": "#/components/schemas/HyperscaleDataTypeEnum"
          },
          "name": {
            "type": "string"
          },
          "source_username": {
            "description": "The username this Connector will use to connect to the source database.",
            "type": "string"
          },
          "source_password": {
            "x-dct-toolkit-credential-field": true,
            "description": "The password this Connector will use to connect to the source database.",
            "type": "string"
          },
          "source_jdbc_url": {
            "description": "The JDBC URL used to connect to the source database.",
            "type": "string"
          },
          "source_mongo_url": {
            "description": "The MongoDB URL used to connect to the source database.",
            "type": "string",
            "example": "mongodb://host:27017"
          },
          "source_filesystem_path": {
            "description": "The path on the filesystem where source files must be read (Delimited files Only).",
            "type": "string"
          },
          "source_connection_properties": {
            "additionalProperties": {
              "type": "string"
            }
          },
          "target_username": {
            "description": "The username this Connector will use to connect to the target database.",
            "type": "string"
          },
          "target_password": {
            "x-dct-toolkit-credential-field": true,
            "description": "The username this Connector will use to connect to the target database.",
            "type": "string"
          },
          "target_jdbc_url": {
            "description": "The JDBC URL used to connect to the target database.",
            "type": "string"
          },
          "target_mongo_url": {
            "description": "The MongoDB URL used to connect to the target database.",
            "type": "string",
            "example": "mongodb://host:27017"
          },
          "target_filesystem_path": {
            "description": "The path on the filesystem where target files must be written (Delimited files Only).",
            "type": "string"
          },
          "target_connection_properties": {
            "additionalProperties": {
              "type": "string"
            }
          },
          "tags": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Tag"
            }
          },
          "make_current_account_owner": {
            "type": "boolean",
            "default": true,
            "description": "Whether the account creating this Hyperscale Connector must be configured as owner of it."
          }
        }
      },
      "HyperscaleConnectorUpdateParameters": {
        "title": "HyperscaleConnectorUpdateParameters",
        "type": "object",
        "description": "The updatable properties of a Hyperscale Connector.",
        "properties": {
          "name": {
            "type": "string"
          },
          "source_username": {
            "description": "The username this Connector will use to connect to the source database.",
            "type": "string"
          },
          "source_password": {
            "x-dct-toolkit-credential-field": true,
            "description": "The password this Connector will use to connect to the source database.",
            "type": "string"
          },
          "source_jdbc_url": {
            "description": "The JDBC URL used to connect to the source database.",
            "type": "string"
          },
          "source_mongo_url": {
            "description": "The MongoDB URL used to connect to the source database.",
            "type": "string",
            "example": "mongodb://host:27017"
          },
          "source_filesystem_path": {
            "description": "The path on the filesystem where source files must be read (Delimited files Only).",
            "type": "string"
          },
          "source_connection_properties": {
            "additionalProperties": {
              "type": "string"
            }
          },
          "target_username": {
            "description": "The username this Connector will use to connect to the target database.",
            "type": "string"
          },
          "target_password": {
            "x-dct-toolkit-credential-field": true,
            "description": "The username this Connector will use to connect to the target database.",
            "type": "string"
          },
          "target_jdbc_url": {
            "description": "The JDBC URL used to connect to the target database.",
            "type": "string"
          },
          "target_mongo_url": {
            "description": "The MongoDB URL used to connect to the target database.",
            "type": "string",
            "example": "mongodb://host:27017"
          },
          "target_filesystem_path": {
            "description": "The path on the filesystem where target files must be written (Delimited files Only).",
            "type": "string"
          },
          "target_connection_properties": {
            "additionalProperties": {
              "type": "string"
            }
          }
        }
      },
      "CreateMaskingJobRequest": {
        "title": "CreateMaskingJobRequest",
        "type": "object",
        "description": "Parameters to create a MaskingJob.",
        "properties": {
          "name": {
            "description": "The name to give the Masking Job.",
            "type": "string",
            "example": "My favorite MaskingJob"
          },
          "description": {
            "description": "The description of the Job (Hyperscale Job only).",
            "type": "string",
            "example": "Job for app finance DB"
          },
          "job_type": {
            "type": "string",
            "description": "The type of Job.",
            "enum": [
              "HYPERSCALE"
            ],
            "example": "HYPERSCALE"
          },
          "hyperscale_instance_id": {
            "description": "The ID of the HyperscaleInstance to create this Job on (Hyperscale Job only).",
            "type": "string",
            "example": "hyperscale-123"
          },
          "source_masking_job_id": {
            "description": "The ID of the Masking Job to use as the source (Hyperscale Job only).",
            "type": "string",
            "example": "masking-job-123"
          },
          "hyperscale_source_connector_username": {
            "description": "The username to set for the Source Connector that will be imported (Hyperscale Job only).",
            "type": "string",
            "example": "db-user-123"
          },
          "hyperscale_source_connector_password": {
            "x-dct-toolkit-credential-field": true,
            "description": "The password to set for the Source Connector that will be imported (Hyperscale Job only).",
            "type": "string",
            "example": "dp-pass-123"
          },
          "hyperscale_target_connector_username": {
            "description": "The username to set for the Target Connector that will be imported (Hyperscale Job only).",
            "type": "string",
            "example": "db-user-123"
          },
          "hyperscale_target_connector_password": {
            "x-dct-toolkit-credential-field": true,
            "description": "The password to set for the Target Connector that will be imported (Hyperscale Job only).",
            "type": "string",
            "example": "dp-pass-123"
          },
          "mount_point_id": {
            "description": "The ID of the MountPoint to use for the resulting dataset (Hyperscale Job only).",
            "type": "string",
            "example": "mount-point-123"
          },
          "unload_split": {
            "description": "The number of unloaded files to be generated from the source database (Hyperscale Job only).",
            "type": "integer",
            "format": "int64",
            "example": 4
          },
          "stream_size": {
            "description": "The stream size to be used by the sqlldr oracle utility which specifies the size (in bytes) of the data stream sent from the client to the server (Hyperscale Job only).",
            "type": "integer",
            "format": "int64",
            "example": 65536
          },
          "retain_execution_data": {
            "description": "Defines whether execution data will be stored after execution is complete (Hyperscale Job only).",
            "type": "string",
            "enum": [
              "NO",
              "ON_ERROR",
              "ALWAYS"
            ],
            "example": false
          },
          "max_memory": {
            "description": "Maximum memory, in MB, to be allocated for each Masking job (Hyperscale Job only).",
            "type": "integer",
            "format": "int32",
            "example": 1024
          },
          "min_memory": {
            "description": "Minimum memory, in MB, to be allocated for each Masking job (Hyperscale Job only).",
            "type": "integer",
            "format": "int32",
            "example": 1024
          },
          "feedback_size": {
            "description": "The granularity with which the masking engine provides updates on the progress of the masking job. For instance, a feedbackSize of 50000 results in log updates whenever 50000 rows are processed during the masking phase (Hyperscale Job only).",
            "type": "integer",
            "format": "int32",
            "example": 10000
          },
          "stream_row_limit": {
            "description": "The stream row limit constrains the total number of rows that may enter the job for each masking stream. Setting this value to 0 allows unlimited rows into each stream, while leaving it blank will select a default limit based on job type (Hyperscale Job only).",
            "type": "integer",
            "format": "int32",
            "example": 0
          },
          "num_input_streams": {
            "description": "Number of input streams to be configured for Masking Job (Hyperscale Job only).",
            "type": "integer",
            "format": "int32",
            "example": 4
          },
          "max_concurrent_source_connections": {
            "description": "Maximum number of parallel connection that the Hyperscale instance can have with the source datasource (Hyperscale Job only).",
            "type": "integer",
            "format": "int32",
            "example": 32
          },
          "max_concurrent_target_connections": {
            "description": "Maximum number of parallel connection that the Hyperscale instance can have with the target datasource (Hyperscale Job only).",
            "type": "integer",
            "format": "int32",
            "example": 32
          },
          "parallelism_degree": {
            "description": "The degree of parallelism (DOP) per Oracle job to recreate the index in the post-load process (Hyperscale Job only).",
            "type": "integer",
            "format": "int32",
            "example": 4
          },
          "tags": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Tag"
            }
          },
          "make_current_account_owner": {
            "type": "boolean",
            "default": true,
            "description": "Whether the account creating this Masking job must be configured as owner of it (Hyperscale Job only)."
          }
        }
      },
      "HyperscaleDataset": {
        "title": "HyperscaleDataset",
        "type": "object",
        "description": "A Hyperscale Dataset.",
        "properties": {
          "id": {
            "description": "The ID of the Hyperscale Dataset.",
            "type": "string"
          },
          "hyperscale_instance_id": {
            "description": "The ID of the Hyperscale instance of this Dataset.",
            "type": "string"
          },
          "data_type": {
            "$ref": "#/components/schemas/HyperscaleDataTypeEnum"
          },
          "mount_point_id": {
            "description": "The Id of the Hyperscale Mount Point used for this Dataset.",
            "type": "string"
          },
          "connector_id": {
            "description": "Id the Hyperscale Connector used to read sensitive data and write masked data.",
            "type": "string"
          },
          "tags": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Tag"
            }
          }
        }
      },
      "HyperscaleDatasetUpdateParameters": {
        "title": "HyperscaleDatasetUpdateParameters",
        "type": "object",
        "description": "The updatable properties of a Hyperscale Dataset.",
        "properties": {
          "mount_point_id": {
            "description": "The Id of the Hyperscale Mount Point used for this Dataset.",
            "type": "string"
          },
          "connector_id": {
            "description": "Id the Hyperscale Connector used to read sensitive data and write masked data.",
            "type": "string"
          }
        }
      },
      "HyperscaleDatasetTableOrFile": {
        "title": "HyperscaleDatasetTableOrFile",
        "type": "object",
        "description": "A table or file which is part of a hyperscale dataset.",
        "properties": {
          "id": {
            "description": "The ID of the Hyperscale Dataset table or file.",
            "type": "string"
          },
          "schema_name": {
            "type": "string",
            "description": "Name of the table schema (Oracle/MSSql only)."
          },
          "table_name": {
            "type": "string",
            "description": "Name of the table (Oracle/MSSql only)."
          },
          "collection_name": {
            "type": "string",
            "description": "Name of the collection (MongoDB only)."
          },
          "database_name": {
            "type": "string",
            "description": "Name of the database (MongoDB only)."
          },
          "filter_key": {
            "description": "The unique database column field to filter the source data.",
            "type": "string"
          },
          "column_array_rows": {
            "description": "The number of column array rows to be used by the sqlldr oracle utility which determines the number of rows loaded before the stream buffer is built.",
            "type": "integer",
            "format": "int64"
          },
          "unload_split": {
            "description": "The number of unloaded files to be generated from the source database.",
            "type": "integer",
            "format": "int64"
          },
          "stream_size": {
            "description": "Long The stream size to be used by the sqlldr oracle utility which specifies the size (in bytes) of the data stream sent from the client to the server.",
            "type": "integer",
            "format": "int64"
          },
          "end_of_record": {
            "description": "The end of line character. Support values are \\n, \\r  and \\r\\n (Delimited files only).",
            "type": "string"
          },
          "delimiter": {
            "description": "The single character length delimiter used in source files (Delimited files only).",
            "type": "string"
          },
          "enclosure": {
            "description": "The single character length quote character used in the source files (Delimited files only).",
            "type": "string"
          },
          "enclosure_escape_character": {
            "description": "The escape character used to escape quote characters (Delimited files only).",
            "type": "string"
          },
          "escape_enclosure_escape_character": {
            "description": "Whether to escape the enclosure escape character (Delimited files only).",
            "type": "boolean"
          },
          "has_headers": {
            "description": "Whether source files have header column names or not (Delimited files only). If set to true, format files with the same column names are created and the same can be used for the masking inventory. If set to false, the column names of pattern f0, f1, f2, and so on are used to create the format files for delimited file masking.",
            "type": "boolean"
          },
          "unique_source_files_identifier": {
            "description": "This is the source key that maps the load-service and masking-service data sets with the unload-service data set (Delimited files only). Please ensure that this value is different for each HyperscaleDatasetTableOrFile.",
            "type": "string"
          },
          "source_files": {
            "description": "List of all source files that need to be masked (Delimited files only). All files should have the same delimiter character and other helper characters. All files should have the same number of columns and same column names if it has a header line.",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "perform_join": {
            "description": "Whether the split files must be joined (Delimited files only).",
            "type": "boolean"
          },
          "masking_inventory": {
            "type": "array",
            "description": "DataSet information for masking inventory.",
            "items": {
              "type": "object",
              "title": "HyperscaleColumnOrField",
              "properties": {
                "field_name": {
                  "description": "Name of the field.",
                  "type": "string"
                },
                "domain_name": {
                  "description": "The name of the domain assigned to this field.",
                  "type": "string"
                },
                "algorithm_name": {
                  "description": "The name of the algorithm assigned to this field.",
                  "type": "string"
                },
                "date_format": {
                  "description": "The format of the date assigned to this field.",
                  "type": "string"
                },
                "algorithm_field_name": {
                  "description": "The name of the algorithm field that is associated with this algorithm.",
                  "type": "string"
                },
                "algorithm_group_no": {
                  "description": "The group number of the algorithm to identify a set of columns associated with one instance of algorithm.",
                  "type": "integer",
                  "format": "int64"
                }
              }
            }
          }
        }
      },
      "HyperscaleDatasetTableOrFileUpdateParameters": {
        "title": "HyperscaleDatasetTableOrFile",
        "type": "object",
        "description": "The updatable properties of a table or file which is part of a hyperscale dataset.",
        "properties": {
          "filter_key": {
            "description": "The unique database column field to filter the source data. Set this property to an empty string to clear the value.",
            "type": "string"
          },
          "column_array_rows": {
            "description": "The number of column array rows to be used by the sqlldr oracle utility which determines the number of rows loaded before the stream buffer is built.",
            "type": "integer",
            "format": "int64"
          },
          "unload_split": {
            "description": "The number of unloaded files to be generated from the source database.",
            "type": "integer",
            "format": "int64"
          },
          "stream_size": {
            "description": "Long The stream size to be used by the sqlldr oracle utility which specifies the size (in bytes) of the data stream sent from the client to the server.",
            "type": "integer",
            "format": "int64"
          },
          "end_of_record": {
            "description": "The end of line character. Support values are \\n, \\r  and \\r\\n (Delimited files only).",
            "type": "string"
          },
          "delimiter": {
            "description": "The single character length delimiter used in source files (Delimited files only).",
            "type": "string"
          },
          "enclosure": {
            "description": "The single character length quote character used in the source files (Delimited files only).",
            "type": "string"
          },
          "enclosure_escape_character": {
            "description": "The escape character used to escape quote characters (Delimited files only).",
            "type": "string"
          },
          "escape_enclosure_escape_character": {
            "description": "Whether to escape the enclosure escape character (Delimited files only).",
            "type": "boolean"
          },
          "has_headers": {
            "description": "Whether source files have header column names or not (Delimited files only). If set to true, format files with the same column names are created and the same can be used for the masking inventory. If set to false, the column names of pattern f0, f1, f2, and so on are used to create the format files for delimited file masking.",
            "type": "boolean"
          },
          "unique_source_files_identifier": {
            "description": "This is the source key that maps the load-service and masking-service data sets with the unload-service data set (Delimited files only). Please ensure that this value is different for each HyperscaleDatasetTableOrFile.",
            "type": "string"
          },
          "source_files": {
            "description": "List of all source files that need to be masked (Delimited files only). All files should have the same delimiter character and other helper characters. All files should have the same number of columns and same column names if it has a header line.",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "perform_join": {
            "description": "Whether the split files must be joined (Delimited files only).",
            "type": "boolean"
          }
        }
      },
      "UnregisterHyperscaleInstanceParameters": {
        "title": "UnregisterHyperscaleInstanceParameters",
        "type": "object",
        "description": "Parameters to unregister a Hyperscale instance.",
        "properties": {
          "force_delete": {
            "type": "boolean",
            "default": false,
            "description": "If true, proceed with deletion even when compliance node engine unregistration\nfails or the instance has active executions. Orphaned engine registrations may\nremain on the Hyperscale host.\n"
          }
        }
      },
      "HyperscaleInstance": {
        "title": "HyperscaleInstance",
        "type": "object",
        "description": "A registered Hyperscale instance's connection and authentication settings.",
        "required": [
          "name",
          "hostname",
          "api_key",
          "job_orchestrator_id"
        ],
        "properties": {
          "id": {
            "description": "The Hyperscale instance entity ID.",
            "type": "string",
            "readOnly": true
          },
          "name": {
            "description": "The name of this hyperscale instance.",
            "type": "string"
          },
          "hostname": {
            "description": "The hostname of this hyperscale instance.",
            "type": "string"
          },
          "data_type": {
            "$ref": "#/components/schemas/HyperscaleDataTypeEnum"
          },
          "creation_date": {
            "description": "The date this hyperscale instance was registered.",
            "type": "string",
            "format": "date-time"
          },
          "tags": {
            "description": "The tags to be created for this hyperscale instance.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Tag"
            }
          },
          "api_key": {
            "description": "API key to connect to the hyperscale instance.",
            "type": "string"
          },
          "insecure_ssl": {
            "description": "Allow connections to the hyperscale instance over HTTPs without validating the TLS certificate. Even though\nthe connection to the hyperscale instance might be performed over HTTPs, setting this property eliminates\nthe protection against a man-in-the-middle attach for connections to this engine. Instead,\nconsider configuring DCT with Certificate Authority certificates.\n",
            "type": "boolean",
            "default": false
          },
          "unsafe_ssl_hostname_check": {
            "description": "Ignore validation of the name associated to the TLS certificate when connecting to the hyperscale instance over HTTPs.\nSetting this value must only be done if the TLS certificate of the hyperscale instance does not match the hostname,\nand the TLS configuration of the hyperscale instance cannot be fixed. Setting this property reduces the protection\nagainst a man-in-the-middle attack for connections to this hyperscale instance.\nThis is ignored if insecure_ssl is set.\n",
            "type": "boolean",
            "default": false
          },
          "status": {
            "description": "The status of this hyperscale instance.",
            "type": "string",
            "enum": [
              "CREATED",
              "DELETING"
            ],
            "nullable": true,
            "readOnly": true
          },
          "connection_status": {
            "description": "The status of the connection to the hyperscale instance.",
            "type": "string",
            "enum": [
              "ONLINE",
              "CONNECTION_ERROR",
              "BAD_CREDENTIALS"
            ],
            "nullable": true,
            "readOnly": true
          },
          "connection_status_details": {
            "description": "If set, details about the status of the connection to the hyperscale instance.",
            "type": "string",
            "readOnly": true
          },
          "job_orchestrator_id": {
            "type": "string",
            "description": "The job orchestrator id that is associated with the hyperscale instance."
          },
          "job_orchestrator_name": {
            "description": "The job orchestrator name associated with the hyperscale instance.",
            "type": "string"
          },
          "node_count": {
            "type": "integer",
            "description": "The Number of compliance nodes registered on Hyperscale Instance if instance is dct_managed."
          },
          "auto_calculate_unload_split": {
            "type": "boolean",
            "default": true,
            "description": "If set, hyperscale will auto calculate the no of splits required for masking job."
          },
          "consider_continuous_compliance_warning_event_as": {
            "type": "string",
            "enum": [
              "SUCCESS",
              "FAILURE"
            ],
            "default": "SUCCESS",
            "description": "The flag to control behavior of Hyperscale Job execution on warning event in Continuous Compliance Job execution. Default behavior of Hyperscale Job on the WARNING status of Continuous Compliance Job execution, is to consider it as SUCCESS. One example of warning event in Continuous Compliance is masking non conformant data."
          },
          "create_all_indexes_with_nologging": {
            "type": "boolean",
            "default": false,
            "description": "Add all indexes with NOLOGGING as part of post load."
          },
          "disable_parallel_index_creation": {
            "type": "boolean",
            "default": false,
            "description": "Exclude indexes from combining with constraint and trigger groups as part of pre load."
          },
          "enable_all_constraints_with_novalidate": {
            "type": "boolean",
            "default": false,
            "description": "Enable all constraints with NOVALIDATE as part of post load."
          },
          "max_concurrent_source_connections": {
            "type": "integer",
            "default": 30,
            "description": "Maximum number of parallel connection that hyperscale can have with source datasource."
          },
          "max_concurrent_target_connections": {
            "type": "integer",
            "default": 30,
            "description": "Maximum number of parallel connection that hyperscale can have with target datasource."
          },
          "max_parallel_connections_per_table": {
            "type": "integer",
            "default": 30,
            "description": "Maximum number of parallel connection that per table per masking job."
          },
          "max_records_per_split": {
            "type": "integer",
            "format": "int64",
            "default": 30,
            "description": "Maximum number of rows allowed per split file for job execution."
          },
          "max_split_per_connection": {
            "type": "integer",
            "default": 4,
            "description": "Maximum number of split files allowed per connection for job execution."
          },
          "parallelism_degree": {
            "type": "integer",
            "default": 0,
            "description": "Degree of parallelism for target database."
          },
          "retain_execution_data": {
            "type": "string",
            "enum": [
              "NO",
              "ON_ERROR",
              "ALWAYS"
            ],
            "default": "NO",
            "description": "Defines whether execution data will be stored after execution is complete. Enum having values- NO, ON_ERROR, ALWAYS."
          },
          "stream_size": {
            "type": "integer",
            "default": 0,
            "description": "The stream size to be used by sqlldr oracle utility which specifies the size (in bytes) of the data stream sent from the client to the server."
          },
          "column_array_rows": {
            "type": "integer",
            "default": 0,
            "description": "The number of column array rows to be used by sqlldr oracle utility which determines the number of rows loaded before the stream buffer is built."
          },
          "unload_split": {
            "type": "integer",
            "default": 1,
            "description": "The number of unloaded files to be generated from the source database."
          }
        }
      },
      "HyperscaleDataTypeEnum": {
        "type": "string",
        "description": "The data type designation for the hyperscale deployment.",
        "enum": [
          "ORACLE",
          "MSSQL",
          "DELIMITED_FILES",
          "MONGO_DB"
        ],
        "example": "ORACLE"
      },
      "HyperscaleInstanceUpdateParams": {
        "title": "HyperscaleInstanceUpdateParams",
        "type": "object",
        "description": "Parameters to update a Hyperscale instances.",
        "properties": {
          "name": {
            "type": "string",
            "description": "Name in DCT of the Hyperscale instance.",
            "minLength": 1,
            "maxLength": 256
          },
          "hostname": {
            "type": "string",
            "description": "Hostname of the Hyperscale instance. If the Hyperscale instance is running on a custom port (not 443), the port can be specified using the \"hostname:port\" format, for instance \"hyperscale-1.mycompany.co:1765\"",
            "minLength": 1,
            "maxLength": 512
          },
          "api_key": {
            "x-dct-toolkit-credential-field": true,
            "description": "API key to connect to the Hyperscale instance.",
            "type": "string",
            "nullable": true,
            "minLength": 1,
            "maxLength": 4096
          },
          "insecure_ssl": {
            "description": "Allow connections to the hyperscale instance over HTTPs without validating the TLS certificate. Even though\nthe connection to the hyperscale instance might be performed over HTTPs, setting this property eliminates\nthe protection against a man-in-the-middle attach for connections to this engine. Instead,\nconsider configuring DCT with Certificate Authority certificates.\n",
            "type": "boolean"
          },
          "unsafe_ssl_hostname_check": {
            "description": "Ignore validation of the name associated to the TLS certificate when connecting to the hyperscale instance over HTTPs.\nSetting this value must only be done if the TLS certificate of the hyperscale instance does not match the hostname,\nand the TLS configuration of the hyperscale instance cannot be fixed. Setting this property reduces the protection\nagainst a man-in-the-middle attack for connections to this engine.\nThis is ignored if insecure_ssl is set.\n",
            "type": "boolean"
          },
          "job_orchestrator_id": {
            "type": "string",
            "description": "The ID or name of the job orchestrator that is associated with this hyperscale instance.",
            "nullable": true
          },
          "auto_calculate_unload_split": {
            "type": "boolean",
            "description": "If set, hyperscale will auto calculate the no of splits required for masking job."
          },
          "consider_continuous_compliance_warning_event_as": {
            "type": "string",
            "enum": [
              "SUCCESS",
              "FAILURE"
            ],
            "description": "The flag to control behavior of Hyperscale Job execution on warning event in Continuous Compliance Job execution. Default behavior of Hyperscale Job on the WARNING status of Continuous Compliance Job execution, is to consider it as SUCCESS. One example of warning event in Continuous Compliance is masking non conformant data."
          },
          "create_all_indexes_with_nologging": {
            "type": "boolean",
            "description": "Add all indexes with NOLOGGING as part of post load."
          },
          "disable_parallel_index_creation": {
            "type": "boolean",
            "description": "Exclude indexes from combining with constraint and trigger groups as part of pre load."
          },
          "enable_all_constraints_with_novalidate": {
            "type": "boolean",
            "description": "Enable all constraints with NOVALIDATE as part of post load."
          },
          "max_concurrent_source_connections": {
            "type": "integer",
            "minimum": 1,
            "maximum": 32767,
            "description": "Maximum number of parallel connection that hyperscale can have with source datasource."
          },
          "max_concurrent_target_connections": {
            "type": "integer",
            "minimum": 1,
            "maximum": 32767,
            "description": "Maximum number of parallel connection that hyperscale can have with target datasource."
          },
          "max_parallel_connections_per_table": {
            "type": "integer",
            "minimum": 1,
            "maximum": 32767,
            "description": "Maximum number of parallel connection that per table per masking job."
          },
          "max_records_per_split": {
            "type": "integer",
            "format": "int64",
            "minimum": 1,
            "description": "Maximum number of rows allowed per split file for job execution."
          },
          "max_split_per_connection": {
            "type": "integer",
            "minimum": 1,
            "maximum": 32767,
            "description": "Maximum number of split files allowed per connection for job execution."
          },
          "parallelism_degree": {
            "type": "integer",
            "minimum": -1,
            "maximum": 32767,
            "description": "Degree of parallelism for target database."
          },
          "retain_execution_data": {
            "type": "string",
            "enum": [
              "NO",
              "ON_ERROR",
              "ALWAYS"
            ],
            "description": "Defines whether execution data will be stored after execution is complete. Enum having values- NO, ON_ERROR, ALWAYS."
          },
          "stream_size": {
            "type": "integer",
            "minimum": 0,
            "description": "The stream size to be used by sqlldr oracle utility which specifies the size (in bytes) of the data stream sent from the client to the server."
          },
          "column_array_rows": {
            "type": "integer",
            "minimum": 0,
            "description": "The number of column array rows to be used by sqlldr oracle utility which determines the number of rows loaded before the stream buffer is built."
          },
          "unload_split": {
            "type": "integer",
            "minimum": 1,
            "maximum": 32767,
            "description": "The number of unloaded files to be generated from the source database."
          }
        }
      },
      "HyperscaleInstanceRegistrationParameter": {
        "title": "HyperscaleInstanceRegistrationParameter",
        "type": "object",
        "description": "Parameters to register and authenticate a Hyperscale instance",
        "required": [
          "name",
          "hostname",
          "api_key",
          "job_orchestrator_id"
        ],
        "properties": {
          "name": {
            "type": "string",
            "description": "Name in DCT of the Hyperscale instance.",
            "minLength": 1,
            "maxLength": 256
          },
          "hostname": {
            "type": "string",
            "description": "Hostname of the Hyperscale instance. If the Hyperscale instance is running on a custom port (not 443), the port can be specified using the \"hostname:port\" format, for instance \"hyperscale-1.mycompany.co:1765\"",
            "minLength": 1,
            "maxLength": 512
          },
          "api_key": {
            "x-dct-toolkit-credential-field": true,
            "description": "API key to connect to the Hyperscale instance.",
            "type": "string",
            "nullable": true,
            "minLength": 1,
            "maxLength": 4096
          },
          "insecure_ssl": {
            "description": "Allow connections to the hyperscale instance over HTTPs without validating the TLS certificate. Even though\nthe connection to the hyperscale instance might be performed over HTTPs, setting this property eliminates\nthe protection against a man-in-the-middle attach for connections to this engine. Instead,\nconsider configuring DCT with Certificate Authority certificates.\n",
            "type": "boolean",
            "default": false
          },
          "unsafe_ssl_hostname_check": {
            "description": "Ignore validation of the name associated to the TLS certificate when connecting to the hyperscale instance over HTTPs.\nSetting this value must only be done if the TLS certificate of the hyperscale instance does not match the hostname,\nand the TLS configuration of the hyperscale instance cannot be fixed. Setting this property reduces the protection\nagainst a man-in-the-middle attack for connections to this engine.\nThis is ignored if insecure_ssl is set.\n",
            "type": "boolean",
            "default": false
          },
          "tags": {
            "description": "The tags to be created for this engine.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Tag"
            }
          },
          "make_current_account_owner": {
            "type": "boolean",
            "default": true,
            "description": "Whether the account creating this Hyperscale instance must be configured as owner of it."
          },
          "job_orchestrator_id": {
            "type": "string",
            "description": "The ID or name of the job orchestrator that is associated with this hyperscale instance.",
            "nullable": false
          },
          "auto_calculate_unload_split": {
            "type": "boolean",
            "default": true,
            "description": "If set, hyperscale will auto calculate the no of splits required for masking job."
          },
          "consider_continuous_compliance_warning_event_as": {
            "type": "string",
            "enum": [
              "SUCCESS",
              "FAILURE"
            ],
            "default": "SUCCESS",
            "description": "The flag to control behavior of Hyperscale Job execution on warning event in Continuous Compliance Job execution. Default behavior of Hyperscale Job on the WARNING status of Continuous Compliance Job execution, is to consider it as SUCCESS. One example of warning event in Continuous Compliance is masking non conformant data."
          },
          "create_all_indexes_with_nologging": {
            "type": "boolean",
            "default": false,
            "description": "Add all indexes with NOLOGGING as part of post load."
          },
          "disable_parallel_index_creation": {
            "type": "boolean",
            "default": false,
            "description": "Exclude indexes from combining with constraint and trigger groups as part of pre load."
          },
          "enable_all_constraints_with_novalidate": {
            "type": "boolean",
            "default": false,
            "description": "Enable all constraints with NOVALIDATE as part of post load."
          },
          "max_concurrent_source_connections": {
            "type": "integer",
            "default": 30,
            "minimum": 1,
            "maximum": 32767,
            "description": "Maximum number of parallel connection that hyperscale can have with source datasource."
          },
          "max_concurrent_target_connections": {
            "type": "integer",
            "default": 30,
            "minimum": 1,
            "maximum": 32767,
            "description": "Maximum number of parallel connection that hyperscale can have with target datasource."
          },
          "max_parallel_connections_per_table": {
            "type": "integer",
            "default": 30,
            "minimum": 1,
            "maximum": 32767,
            "description": "Maximum number of parallel connection that per table per masking job."
          },
          "max_records_per_split": {
            "type": "integer",
            "format": "int64",
            "default": 30,
            "minimum": 1,
            "description": "Maximum number of rows allowed per split file for job execution."
          },
          "max_split_per_connection": {
            "type": "integer",
            "default": 4,
            "minimum": 1,
            "maximum": 32767,
            "description": "Maximum number of split files allowed per connection for job execution."
          },
          "parallelism_degree": {
            "type": "integer",
            "default": 0,
            "minimum": -1,
            "maximum": 32767,
            "description": "Degree of parallelism for target database."
          },
          "retain_execution_data": {
            "type": "string",
            "enum": [
              "NO",
              "ON_ERROR",
              "ALWAYS"
            ],
            "default": "NO",
            "description": "Defines whether execution data will be stored after execution is complete. Enum having values- NO, ON_ERROR, ALWAYS."
          },
          "stream_size": {
            "type": "integer",
            "default": 0,
            "minimum": 0,
            "description": "The stream size to be used by sqlldr oracle utility which specifies the size (in bytes) of the data stream sent from the client to the server."
          },
          "column_array_rows": {
            "type": "integer",
            "default": 0,
            "minimum": 0,
            "description": "The number of column array rows to be used by sqlldr oracle utility which determines the number of rows loaded before the stream buffer is built."
          },
          "unload_split": {
            "type": "integer",
            "default": 1,
            "minimum": 1,
            "maximum": 32767,
            "description": "The number of unloaded files to be generated from the source database."
          }
        }
      },
      "PaginatedResponseMetadata": {
        "type": "object",
        "properties": {
          "prev_cursor": {
            "description": "Pointer to the previous page of results. Use this value as a cursor query parameter in a subsequent request, along with limit, to navigate through the collection by virtual page.",
            "type": "string"
          },
          "next_cursor": {
            "description": "Pointer to the next page of results. Use this value as a cursor query parameter in a subsequent request, along with limit, to navigate through the collection by virtual page.",
            "type": "string"
          },
          "total": {
            "description": "The total number of results. This value may not be provided.",
            "type": "integer",
            "format": "int_64"
          }
        }
      },
      "ConnectorTestRequest": {
        "x-jackson-optional-nullable-helpers": true,
        "title": "ConnectorTestRequest",
        "type": "object",
        "description": "The details of the connector to be tested.",
        "properties": {
          "database_type": {
            "description": "The database variant. Currently supports [DB2, DB2_ISERIES, DB2_MAINFRAME, ORACLE, MSSQL, MYSQL, MARIADB, POSTGRES, AURORA_POSTGRES, COCKROACHDB_POSTGRES, RDS_POSTGRES, YUGABYTEDB_POSTGRES, SYBASE, EXTENDED].",
            "type": "string",
            "enum": [
              "DB2",
              "DB2_ISERIES",
              "DB2_MAINFRAME",
              "ORACLE",
              "MSSQL",
              "MYSQL",
              "MARIADB",
              "POSTGRES",
              "AURORA_POSTGRES",
              "COCKROACHDB_POSTGRES",
              "RDS_POSTGRES",
              "YUGABYTEDB_POSTGRES",
              "SYBASE",
              "EXTENDED"
            ],
            "example": "ORACLE",
            "nullable": true,
            "x-is-jackson-optional-nullable": true
          },
          "compliance_jdbc_driver_id": {
            "description": "The ID or name of the compliance JDBC driver to use. Required when database_type is EXTENDED.",
            "type": "string",
            "nullable": true,
            "x-is-jackson-optional-nullable": true
          },
          "hostname": {
            "description": "The network hostname or IP address of the database server.",
            "type": "string",
            "example": "database_server.mycompany.co",
            "nullable": true,
            "x-is-jackson-optional-nullable": true
          },
          "port": {
            "description": "The TCP port of the server.",
            "type": "integer",
            "format": "int32",
            "minimum": 1,
            "maximum": 65535,
            "example": 9100,
            "nullable": true,
            "x-is-jackson-optional-nullable": true
          },
          "username": {
            "description": "The username this Connector will use to connect to the database.",
            "type": "string",
            "example": "my_username"
          },
          "password": {
            "x-dct-toolkit-credential-field": true,
            "description": "The password this Connector will use to connect to the database.",
            "type": "string",
            "example": "my_password",
            "nullable": true,
            "x-is-jackson-optional-nullable": true
          },
          "jdbc_url": {
            "description": "The jdbc URL for this connector",
            "type": "string",
            "example": "jdbc:oracle:thin:@//localhost:1521/ORCL",
            "nullable": true,
            "x-is-jackson-optional-nullable": true
          },
          "schema_name": {
            "description": "The schema name for this connector",
            "type": "string",
            "example": "public"
          },
          "sid": {
            "description": "The SID value for this connector. This field is specific to Oracle database connectors",
            "type": "string",
            "example": "ORCL",
            "nullable": true,
            "x-is-jackson-optional-nullable": true
          },
          "database_name": {
            "description": "The name of the database to connect to. This field is not valid for database types 'ORACLE'.",
            "type": "string",
            "example": "my_database",
            "nullable": true,
            "x-is-jackson-optional-nullable": true
          },
          "instance_name": {
            "description": "The name of the database instance. Only used for database type 'MSSQL'.",
            "type": "string",
            "example": "SQL2016",
            "nullable": true,
            "x-is-jackson-optional-nullable": true
          },
          "job_orchestrator_id": {
            "description": "The ID or name of the job orchestrator that is associated with this connector.",
            "type": "string"
          },
          "file_reference_id": {
            "description": "The reference uri/id of the connection-properties file used by the connector.",
            "type": "string",
            "nullable": true,
            "x-is-jackson-optional-nullable": true
          },
          "kerberos_auth": {
            "description": "Whether to use kerberos to authenticate connections. When kerberos_auth is enabled, the username field is treated as the kerberos principal. Kerberos must be enabled on every compliance node in the connector's job orchestrator.",
            "type": "boolean"
          },
          "service_principal": {
            "description": "The service principal to use for kerberos authentication. This property is exclusive to Sybase connectors using Kerberos.",
            "type": "string",
            "nullable": true,
            "x-is-jackson-optional-nullable": true
          },
          "credential_path_id": {
            "description": "The DCT UUID of the credential path to use for password vault auth. Mutually exclusive with password and kerberos_auth.",
            "type": "string",
            "nullable": true,
            "x-is-jackson-optional-nullable": true
          },
          "owning_entity_id": {
            "description": "The ID of the owning entity. When set, credentials and job orchestrator are retrieved from the entity.",
            "type": "string"
          },
          "owning_entity_type": {
            "description": "The type of the owning entity. Required when owning_entity_id is set.",
            "type": "string",
            "enum": [
              "PAAS_INSTANCE"
            ]
          },
          "type": {
            "description": "The type of connector being tested. Required for option a (unsaved connector tests). Null is treated as DATABASE for backwards compatibility.\n",
            "$ref": "#/components/schemas/ConnectorTypeEnum",
            "nullable": true,
            "x-is-jackson-optional-nullable": true
          },
          "connection_mode": {
            "description": "The connection mode for FILE connectors. Required when type=FILE.",
            "type": "string",
            "enum": [
              "FTP",
              "FTPS",
              "SFTP",
              "MOUNT",
              "AWS_S3",
              "S3_COMPATIBLE",
              "AZURE_BLOB_STORAGE"
            ],
            "x-is-jackson-optional-nullable": true
          },
          "file_type": {
            "description": "The type of file this connector accesses. Required when type=FILE.",
            "type": "string",
            "enum": [
              "DELIMITED",
              "FIXED_WIDTH",
              "XML",
              "JSON",
              "PARQUET"
            ],
            "x-is-jackson-optional-nullable": true
          },
          "path": {
            "description": "The path on the remote server for file connections.",
            "type": "string",
            "nullable": true,
            "x-is-jackson-optional-nullable": true
          },
          "ssh_key": {
            "x-dct-toolkit-credential-field": true,
            "description": "The DCT SSH key UUID for SFTP connections.",
            "type": "string",
            "nullable": true,
            "x-is-jackson-optional-nullable": true
          },
          "user_dir_is_root": {
            "description": "For SFTP connections only, whether the user dir is set to root.",
            "type": "boolean",
            "nullable": true,
            "x-is-jackson-optional-nullable": true
          },
          "mount_information_id": {
            "description": "The DCT UUID of the mount information record (MOUNT mode only).",
            "type": "string",
            "nullable": true,
            "x-is-jackson-optional-nullable": true
          },
          "mount_type": {
            "description": "The filesystem type for inline MOUNT mode test-connection. Required when connection_mode=MOUNT on POST /connectors/test.\n",
            "type": "string",
            "nullable": true,
            "x-is-jackson-optional-nullable": true,
            "enum": [
              "NFS3",
              "NFS4",
              "CIFS",
              "GENERIC",
              "EXTERNAL"
            ]
          },
          "mount_path": {
            "description": "The remote filesystem path for MOUNT mode (e.g., /export/data). Required for NFS3, NFS4, CIFS; optional for GENERIC.\n",
            "type": "string",
            "nullable": true,
            "x-is-jackson-optional-nullable": true
          },
          "mount_options": {
            "description": "Additional mount options string (e.g., uid=1000,gid=1000). Optional.\n",
            "type": "string",
            "nullable": true,
            "x-is-jackson-optional-nullable": true
          },
          "bucket_name": {
            "description": "The storage bucket name (AWS_S3 and S3_COMPATIBLE modes).",
            "type": "string",
            "nullable": true,
            "x-is-jackson-optional-nullable": true
          },
          "region": {
            "description": "The cloud storage region (AWS_S3 and S3_COMPATIBLE modes).",
            "type": "string",
            "nullable": true,
            "x-is-jackson-optional-nullable": true
          },
          "access_key": {
            "x-dct-toolkit-credential-field": true,
            "description": "The access key for cloud storage authentication.",
            "type": "string",
            "nullable": true,
            "x-is-jackson-optional-nullable": true
          },
          "secret_key": {
            "x-dct-toolkit-credential-field": true,
            "description": "The secret key for AWS storage authentication.",
            "type": "string",
            "nullable": true,
            "x-is-jackson-optional-nullable": true
          },
          "auth_type": {
            "description": "The authentication type for cloud storage. AWS_S3: AWS_ROLE or AWS_SECRET. AZURE_BLOB_STORAGE: AZURE_MANAGED_IDENTITY or AZURE_SECRET.\n",
            "type": "string",
            "enum": [
              "AWS_ROLE",
              "AWS_SECRET",
              "AZURE_MANAGED_IDENTITY",
              "AZURE_SECRET"
            ],
            "nullable": true,
            "x-is-jackson-optional-nullable": true
          },
          "prefix": {
            "description": "The key prefix for cloud storage (AWS and AZURE modes).",
            "type": "string",
            "nullable": true,
            "x-is-jackson-optional-nullable": true
          },
          "delimiter": {
            "description": "The key delimiter for cloud storage (AWS and AZURE modes).",
            "type": "string",
            "nullable": true,
            "x-is-jackson-optional-nullable": true
          },
          "service_endpoint": {
            "description": "The service endpoint URL for S3_COMPATIBLE mode.",
            "type": "string",
            "nullable": true,
            "x-is-jackson-optional-nullable": true
          },
          "azure_account_name": {
            "description": "The Azure storage account name (AZURE_BLOB_STORAGE mode).",
            "type": "string",
            "nullable": true,
            "x-is-jackson-optional-nullable": true
          },
          "azure_container_name": {
            "description": "The Azure blob container name (AZURE_BLOB_STORAGE mode).",
            "type": "string",
            "nullable": true,
            "x-is-jackson-optional-nullable": true
          }
        }
      },
      "ConnectorTestResponse": {
        "title": "ConnectorTestResponse",
        "type": "object",
        "description": "The result of the masking connector test.",
        "required": [
          "status",
          "message"
        ],
        "properties": {
          "status": {
            "description": "Connection status, SUCCEEDED or FAILED",
            "type": "string",
            "enum": [
              "SUCCEEDED",
              "FAILED"
            ],
            "example": "SUCCEEDED"
          },
          "message": {
            "description": "A message describing the result of the masking connector test.",
            "type": "string",
            "example": "Connection Succeeded"
          },
          "job": {
            "$ref": "#/components/schemas/Job",
            "description": "The tested connector job."
          }
        }
      },
      "TagsRequest": {
        "type": "object",
        "required": [
          "tags"
        ],
        "properties": {
          "tags": {
            "description": "Array of tags with key value pairs",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Tag"
            },
            "minItems": 1,
            "maxItems": 1000,
            "uniqueItems": true
          }
        }
      },
      "TagsResponse": {
        "type": "object",
        "properties": {
          "tags": {
            "description": "Array of tags with key value pairs",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Tag"
            }
          }
        }
      },
      "DeleteTag": {
        "type": "object",
        "properties": {
          "key": {
            "description": "Key of the tag",
            "type": "string",
            "minLength": 1,
            "maxLength": 4000,
            "example": "key-1"
          },
          "value": {
            "description": "Value of the tag",
            "type": "string",
            "minLength": 1,
            "maxLength": 4000,
            "example": "value-1"
          },
          "tags": {
            "description": "List of tags to be deleted",
            "type": "array",
            "minItems": 1,
            "maxItems": 1000,
            "uniqueItems": true,
            "items": {
              "$ref": "#/components/schemas/Tag"
            }
          }
        }
      },
      "Tag": {
        "type": "object",
        "required": [
          "key",
          "value"
        ],
        "properties": {
          "key": {
            "description": "Key of the tag",
            "type": "string",
            "minLength": 1,
            "maxLength": 4000,
            "example": "key-1"
          },
          "value": {
            "description": "Value of the tag",
            "type": "string",
            "minLength": 1,
            "maxLength": 4000,
            "example": "value-1"
          }
        }
      },
      "EngineGlobalObjectStateData": {
        "properties": {
          "engine_id": {
            "description": "The entity ID of the engine.",
            "type": "string",
            "example": "4ed2357d-f1a7-410c-b951-90f0edc1a0f6"
          },
          "engine_name": {
            "description": "The name of the engine.",
            "type": "string",
            "example": "My favorite engine"
          },
          "jobs_count": {
            "description": "The number of masking jobs present on the engine.",
            "type": "integer",
            "format": "int32",
            "example": 10
          },
          "connectors_count": {
            "description": "The number of connectors present on the engine.",
            "type": "integer",
            "format": "int32",
            "example": 25
          },
          "rulesets_count": {
            "description": "The number of rulesets present on the engine.",
            "type": "integer",
            "format": "int32",
            "example": 25
          },
          "global_object_revision_hash": {
            "description": "The revisionHash of the GLOBAL_OBJECT.",
            "type": "string",
            "example": "dfb515e3d9727eebf499cb252b417efc926bad0b"
          }
        }
      },
      "DataRiskData": {
        "properties": {
          "connector_id": {
            "description": "The DCT id of the connector. This is an opaque string.",
            "type": "string",
            "example": "1-DATABASE-15"
          },
          "engine_connector_id": {
            "description": "The ID of the connector as found on the compliance engine.",
            "type": "integer",
            "example": "15"
          },
          "connector_name": {
            "description": "Name of the connector.",
            "type": "string",
            "example": "Dev Database"
          },
          "connector_type": {
            "description": "Type of the connector.",
            "type": "string",
            "enum": [
              "DATABASE",
              "FILE",
              "MAINFRAME_DATASET"
            ],
            "example": "DATABASE"
          },
          "last_profiled_date": {
            "description": "Date this connector was last profiled.",
            "type": "string",
            "format": "date-time",
            "example": "2022-11-30T08:51:34.148000+00:00"
          },
          "last_masked_date": {
            "description": "Date this connector last had a masking job run.",
            "type": "string",
            "format": "date-time",
            "example": "2022-11-30T08:51:34.148000+00:00"
          },
          "dct_managed": {
            "description": "Whether or not this connector is managed by DCT.",
            "type": "boolean",
            "example": false
          },
          "engine_id": {
            "description": "The entity ID of the masking engine.",
            "type": "string",
            "example": "4ed2357d-f1a7-410c-b951-90f0edc1a0f6"
          },
          "engine_name": {
            "description": "The name of the masking engine.",
            "type": "string",
            "example": "Development Engine"
          },
          "is_profiled": {
            "description": "If this connector has been profiled.",
            "type": "boolean",
            "example": true
          },
          "is_sensitive_data": {
            "description": "If this connector has sensitive data.",
            "type": "boolean",
            "example": true
          },
          "is_masked": {
            "description": "If this connector has had a successful masking job run.",
            "type": "boolean",
            "example": false
          },
          "is_at_risk": {
            "description": "If this connector has sensitive data that have not been masked.",
            "type": "boolean",
            "example": true
          },
          "data_elements_total": {
            "description": "The total number of data elements of this connector.",
            "type": "integer",
            "format": "int64",
            "example": 1000
          },
          "data_elements_not_sensitive": {
            "description": "The number of data elements categorized as not sensitive.",
            "type": "integer",
            "format": "int64",
            "example": 400
          },
          "data_elements_sensitive_masked": {
            "description": "The number of sensitive data elements that have been masked.",
            "type": "integer",
            "format": "int64",
            "example": 500
          },
          "data_elements_sensitive_unmasked": {
            "description": "The number of sensitive data elements that have not been masked.",
            "type": "integer",
            "format": "int64",
            "example": 100
          },
          "records_total": {
            "description": "The total number of records from this connector.",
            "type": "integer",
            "format": "int64",
            "example": 10000
          },
          "records_not_sensitive": {
            "description": "The number of records found to be not sensitive.",
            "type": "integer",
            "format": "int64",
            "example": 4000
          },
          "records_sensitive_masked": {
            "description": "The number of records found to be sensitive and have been masked.",
            "type": "integer",
            "format": "int64",
            "example": 5000
          },
          "records_sensitive_unmasked": {
            "description": "The number of records found to be sensitive and have not been masked.",
            "type": "integer",
            "format": "int64",
            "example": 1000
          },
          "tags": {
            "description": "The tags of the connector.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Tag"
            }
          }
        }
      },
      "SearchBody": {
        "description": "Search body.",
        "type": "object",
        "properties": {
          "filter_expression": {
            "type": "string",
            "minLength": 5,
            "maxLength": 50000,
            "example": "string_field CONTAINS \"over\" AND numberic_field GT 9000 OR string_field2 EQ \"Goku\""
          }
        }
      },
      "EngineIdBody": {
        "description": "The ID of the registered engine.",
        "type": "object",
        "properties": {
          "engine_id": {
            "type": "string",
            "minLength": 1,
            "example": "1"
          }
        }
      },
      "SyncEnginesHyperscaleParameters": {
        "type": "object",
        "description": "Parameters to sync the global object from a source engine to a list of target engines registered with a Hyperscale Instance.",
        "required": [
          "source_engine_id",
          "target_engine_ids"
        ],
        "properties": {
          "source_engine_id": {
            "type": "string",
            "description": "The ID of the engine to copy the data from.",
            "minLength": 1,
            "maxLength": 256,
            "example": "1"
          },
          "target_engine_ids": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1,
              "maxLength": 256
            },
            "minItems": 1,
            "description": "The IDs of the target engines to copy the data into.",
            "example": [
              "1",
              "2"
            ]
          }
        }
      },
      "CopyMaskingJobParameters": {
        "type": "object",
        "description": "Parameters to copy a masking job.",
        "required": [
          "target_engine_id"
        ],
        "properties": {
          "target_engine_id": {
            "type": "string",
            "description": "The ID of the engine to copy the job to.",
            "minLength": 1,
            "maxLength": 256,
            "example": "1"
          },
          "source_environment_id": {
            "type": "string",
            "description": "The ID or name of the source environment on the target engine. This only applies to On-The-Fly jobs.",
            "minLength": 1,
            "maxLength": 256,
            "example": "test-on-the-fly-mask1"
          },
          "target_environment_id": {
            "type": "string",
            "description": "The ID or name of the target environment on the target engine to copy the job into.",
            "minLength": 1,
            "maxLength": 256,
            "example": "prod-in-place-mask1"
          },
          "force_overwrite": {
            "type": "boolean",
            "default": false,
            "description": "Whether to overwrite objects that already exist on the target engine."
          }
        }
      },
      "MigrateMaskingJobParameters": {
        "type": "object",
        "description": "Parameters to migrate a masking job.",
        "required": [
          "target_engine_id"
        ],
        "properties": {
          "target_engine_id": {
            "type": "string",
            "description": "The ID of the engine to migrate the job to.",
            "minLength": 1,
            "maxLength": 256,
            "example": "1"
          },
          "source_environment_id": {
            "type": "string",
            "description": "The ID or name of the source environment on the target engine. This only applies to On-The-Fly jobs.",
            "minLength": 1,
            "maxLength": 256,
            "example": "test-on-the-fly-mask1"
          },
          "target_environment_id": {
            "type": "string",
            "description": "The ID or name of the target environment on the target engine to migrate the job into.",
            "minLength": 1,
            "maxLength": 256,
            "example": "prod-in-place-mask1"
          },
          "force_overwrite": {
            "type": "boolean",
            "default": false,
            "description": "Whether to overwrite objects that already exist on the target engine."
          }
        }
      },
      "RemoveMaskingJobParameters": {
        "type": "object",
        "description": "Parameters to remove a masking job from a masking job set.",
        "required": [
          "engine_id"
        ],
        "properties": {
          "engine_id": {
            "type": "string",
            "description": "The ID of the engine to remove the masking job from.",
            "minLength": 1,
            "maxLength": 256,
            "example": "1"
          }
        }
      },
      "DatabaseTableMetadataParameters": {
        "description": "An object describe a database table of a rule set with some settings.",
        "type": "object",
        "required": [
          "table_name"
        ],
        "properties": {
          "table_name": {
            "description": "The name of the table.",
            "type": "string",
            "example": "my table"
          },
          "custom_sql": {
            "description": "Custom SQL for the table.",
            "type": "string"
          },
          "where_clause": {
            "description": "SQL where clause for the table.",
            "type": "string"
          },
          "having_clause": {
            "description": "SQL having clause for the table.",
            "type": "string"
          },
          "key_column": {
            "description": "Key Column for the table.",
            "type": "string"
          }
        }
      },
      "DatabaseTableMetadataUpdateParameters": {
        "x-jackson-optional-nullable-helpers": true,
        "description": "Parameters to update a database table metadata object. Fields not provided are left unchanged (subject to HyperscaleInstance backfill when applicable).",
        "type": "object",
        "required": [
          "table_name"
        ],
        "properties": {
          "table_name": {
            "description": "The name of the table, used to identify which record to update.",
            "type": "string",
            "example": "my table"
          },
          "custom_sql": {
            "description": "Custom SQL for the table.",
            "type": "string",
            "nullable": true,
            "x-is-jackson-optional-nullable": true
          },
          "where_clause": {
            "description": "SQL where clause for the table.",
            "type": "string",
            "nullable": true,
            "x-is-jackson-optional-nullable": true
          },
          "having_clause": {
            "description": "SQL having clause for the table.",
            "type": "string",
            "nullable": true,
            "x-is-jackson-optional-nullable": true
          },
          "key_column": {
            "description": "Logical key column for the table. May be a comma-separated list of column names for a composite key, in which case every listed column must exist in the table.\n",
            "type": "string",
            "nullable": true,
            "x-is-jackson-optional-nullable": true
          },
          "filter_key": {
            "description": "Filter key column for the table. Only applicable for Hyperscale.",
            "type": "string",
            "nullable": true,
            "x-is-jackson-optional-nullable": true
          },
          "unload_split": {
            "description": "Number of parallel unload splits. Only applicable for Hyperscale.",
            "type": "integer",
            "minimum": 1,
            "maximum": 32767,
            "x-is-jackson-optional-nullable": true
          },
          "auto_calculate_unload_split": {
            "description": "Whether to automatically calculate the unload split. Only applicable for Hyperscale.",
            "type": "boolean",
            "x-is-jackson-optional-nullable": true
          },
          "max_parallel_connections_per_table": {
            "description": "Maximum number of parallel connections per table. Only applicable for Hyperscale.",
            "type": "integer",
            "minimum": 1,
            "maximum": 32767,
            "x-is-jackson-optional-nullable": true
          },
          "max_records_per_split": {
            "description": "Maximum number of records per split. Only applicable for Hyperscale.",
            "type": "integer",
            "format": "int64",
            "minimum": 1,
            "x-is-jackson-optional-nullable": true
          },
          "max_split_per_connection": {
            "description": "Maximum number of splits per connection. Only applicable for Hyperscale.",
            "type": "integer",
            "minimum": 1,
            "maximum": 32767,
            "x-is-jackson-optional-nullable": true
          },
          "stream_size": {
            "description": "Stream size in bytes. Only applicable for Hyperscale.",
            "type": "integer",
            "format": "int64",
            "minimum": 1,
            "x-is-jackson-optional-nullable": true
          },
          "column_array_rows": {
            "description": "Number of column array rows. Only applicable for Hyperscale.",
            "type": "integer",
            "format": "int64",
            "minimum": 1,
            "x-is-jackson-optional-nullable": true
          }
        }
      },
      "DatabaseTableMetadataBulkPatchRequest": {
        "description": "A request to update multiple database table metadata objects for a rule set.",
        "type": "object",
        "properties": {
          "database_table_metadata": {
            "description": "List of database table metadata update parameters.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DatabaseTableMetadataUpdateParameters"
            }
          },
          "set_hyperscale_defaults_for_other_objects": {
            "description": "If true, apply HyperscaleInstance default values to all tables in the rule set that are NOT present in the database_table_metadata list. For tables that ARE in the payload, explicitly provided hyperscale values take effect and any unset hyperscale fields are backfilled from the HyperscaleInstance. Non-hyperscale fields are never defaulted for non-payload tables. When true, an empty or absent database_table_metadata list is allowed (all tables receive HyperscaleInstance defaults).\n",
            "type": "boolean",
            "default": false
          }
        }
      },
      "UpdateWhereClauseAllTablesRequest": {
        "description": "A request to set the SQL where clause on every database table in a rule set. Custom SQL is cleared on every table.",
        "type": "object",
        "properties": {
          "where_clause": {
            "description": "SQL where clause to apply to every table in the rule set. An empty or null value clears the where clause. Custom SQL is always cleared.",
            "type": "string",
            "nullable": true
          }
        }
      },
      "UpdateKeyColumnAllTablesRequest": {
        "x-jackson-optional-nullable-helpers": true,
        "description": "A request to set the logical key column on every database table in a rule set that contains the column(s). Tables that do not contain the column(s) are skipped (left unchanged); the skipped table names are returned in the job's `warning_message`. A null or empty key column clears the logical key on every table. The field must be present; omitting it is rejected.\n",
        "type": "object",
        "properties": {
          "key_column": {
            "description": "Logical key column to apply to every table that contains it. May be a comma-separated list of column names for a composite key, in which case a table must contain all of the listed columns to be updated. Tables that do not contain the column(s) are skipped, not failed. A null or empty value clears the logical key on every table.\n",
            "type": "string",
            "nullable": true,
            "x-is-jackson-optional-nullable": true
          }
        }
      },
      "DatabaseTableMetadataUpdateRequest": {
        "description": "Parameters to update a database table metadata.",
        "type": "object",
        "x-jackson-optional-nullable-helpers": true,
        "properties": {
          "custom_sql": {
            "description": "Custom SQL for the table.",
            "type": "string",
            "nullable": true,
            "x-is-jackson-optional-nullable": true
          },
          "where_clause": {
            "description": "SQL where clause for the table.",
            "type": "string",
            "nullable": true,
            "x-is-jackson-optional-nullable": true
          },
          "key_column": {
            "description": "Logical key column for the table. May be a comma-separated list of column names for a composite key, in which case every listed column must exist in the table.\n",
            "type": "string",
            "nullable": true,
            "x-is-jackson-optional-nullable": true
          }
        }
      },
      "GenerateCustomSqlResponse": {
        "description": "The generated starter Custom SQL template for a database table metadata entry.",
        "type": "object",
        "properties": {
          "custom_sql": {
            "description": "Custom SQL for the table.",
            "type": "string",
            "example": "SELECT FIRST_NAME, LAST_NAME FROM SCHEMA.CUSTOMERS"
          }
        }
      },
      "DatabaseTableMetadata": {
        "description": "An object describe a database table of a rule set with some settings.",
        "type": "object",
        "properties": {
          "id": {
            "description": "The id of this table metadata.",
            "type": "string",
            "minLength": 1,
            "example": "10"
          },
          "table_name": {
            "description": "The name of the table.",
            "type": "string",
            "example": "my table"
          },
          "rule_set_id": {
            "description": "The id of the rule set that this table metadata belongs to.",
            "type": "string",
            "example": "4ed2357d-f1a7-410c-b951-90f0edc1a0f6"
          },
          "rule_set_name": {
            "description": "The name of the rule set that this table metadata belongs to.",
            "type": "string",
            "example": "my rule set"
          },
          "custom_sql": {
            "description": "Custom SQL for the table.",
            "type": "string"
          },
          "where_clause": {
            "description": "SQL where clause for the table.",
            "type": "string"
          },
          "having_clause": {
            "description": "SQL having clause for the table.",
            "type": "string"
          },
          "key_column": {
            "description": "Key Column for the table.",
            "type": "string"
          },
          "is_sensitive": {
            "description": "This field indicates whether or not a table has sensitive data. This field is assigned by DCT to true or false based on whether the table is assigned an algorithm and domain.",
            "type": "boolean"
          },
          "row_count": {
            "type": "integer",
            "format": "int64"
          },
          "last_refresh_time": {
            "type": "string",
            "format": "date-time"
          },
          "last_row_count_time": {
            "type": "string",
            "format": "date-time"
          },
          "engine_id": {
            "description": "The id of the engine associated with this column.",
            "type": "string",
            "example": "5ff0dab4-368c-4d57-8b61-9a09b6e80f42"
          },
          "engine_name": {
            "description": "The name of the engine associated with this column.",
            "type": "string",
            "example": "my engine"
          },
          "dct_managed": {
            "description": "Whether this data class is managed by DCT or not.",
            "type": "boolean",
            "readOnly": true
          },
          "filter_key": {
            "description": "Filter key column for the table. Only applicable for Hyperscale.",
            "type": "string"
          },
          "unload_split": {
            "description": "Number of parallel unload splits. Only applicable for Hyperscale.",
            "type": "integer"
          },
          "auto_calculate_unload_split": {
            "description": "Whether to automatically calculate the unload split. Only applicable for Hyperscale.",
            "type": "boolean"
          },
          "max_parallel_connections_per_table": {
            "description": "Maximum number of parallel connections per table. Only applicable for Hyperscale.",
            "type": "integer"
          },
          "max_records_per_split": {
            "description": "Maximum number of records per split. Only applicable for Hyperscale.",
            "type": "integer",
            "format": "int64"
          },
          "max_split_per_connection": {
            "description": "Maximum number of splits per connection. Only applicable for Hyperscale.",
            "type": "integer"
          },
          "stream_size": {
            "description": "Stream size in bytes. Only applicable for Hyperscale.",
            "type": "integer",
            "format": "int64"
          },
          "column_array_rows": {
            "description": "Number of column array rows. Only applicable for Hyperscale.",
            "type": "integer",
            "format": "int64"
          }
        }
      },
      "FileFormatType": {
        "type": "string",
        "enum": [
          "DELIMITED",
          "FIXED_WIDTH",
          "XML",
          "JSON",
          "PARQUET",
          "DATASET"
        ]
      },
      "DataFormatType": {
        "type": "string",
        "description": "Discriminator across the unified data-format domain.\nCombines the file-format types with the mainframe-dataset-format type.\n",
        "enum": [
          "DELIMITED",
          "FIXED_WIDTH",
          "XML",
          "JSON",
          "PARQUET",
          "DATASET"
        ]
      },
      "DataFormat": {
        "description": "Lean view of a data format -- either a file-format or a mainframe-dataset-format --\nas returned by /v3/data-formats/search.\n",
        "type": "object",
        "required": [
          "id",
          "name",
          "type"
        ],
        "properties": {
          "id": {
            "type": "string",
            "description": "The data format ID (equals file_formats.id)."
          },
          "name": {
            "type": "string",
            "description": "The data format display name."
          },
          "type": {
            "$ref": "#/components/schemas/DataFormatType"
          },
          "description": {
            "type": "string",
            "nullable": true,
            "description": "A description of the data format."
          },
          "tags": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Tag"
            }
          },
          "mainframe_dataset_format_id": {
            "type": "string",
            "nullable": true,
            "description": "For DATASET rows only: the mainframe dataset format ID (CopyBook ID) used by the tag-management endpoints. Null for all other format types.\n"
          },
          "fields_count": {
            "type": "integer",
            "format": "int64",
            "nullable": true,
            "description": "Total number of fields defined across the file format's record types. Null for DATASET (mainframe) rows.\n"
          }
        }
      },
      "FileFormat": {
        "description": "A data format describing the structure of a file for masking.",
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "The data format ID."
          },
          "name": {
            "type": "string",
            "description": "The data format name."
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "file_type": {
            "$ref": "#/components/schemas/FileFormatType"
          },
          "engine_id": {
            "type": "string",
            "nullable": true
          },
          "engine_name": {
            "type": "string",
            "nullable": true,
            "description": "The name of the engine associated with this data format."
          },
          "dct_managed": {
            "type": "boolean"
          },
          "account_id": {
            "type": "integer",
            "format": "int64",
            "nullable": true
          },
          "account_name": {
            "type": "string",
            "nullable": true,
            "description": "The name of the account that owns this data format."
          },
          "creation_date": {
            "type": "string",
            "format": "date-time",
            "readOnly": true,
            "nullable": true,
            "description": "The date and time the data format was created."
          },
          "header": {
            "type": "integer",
            "nullable": true,
            "description": "Number of lines to skip at the start of the file."
          },
          "footer": {
            "type": "integer",
            "nullable": true,
            "description": "Number of lines to skip at the end of the file."
          },
          "tags": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Tag"
            }
          }
        }
      },
      "FileFormatCreateRequest": {
        "type": "object",
        "required": [
          "name",
          "file_format_type"
        ],
        "properties": {
          "name": {
            "type": "string",
            "description": "The name of the data format."
          },
          "file_format_type": {
            "$ref": "#/components/schemas/FileFormatType"
          },
          "description": {
            "type": "string",
            "nullable": true,
            "description": "A description of the data format."
          },
          "file_reference_id": {
            "type": "string",
            "nullable": true,
            "description": "Optional. UUID of a file previously uploaded via POST /masking-file-uploads. For DELIMITED type: DCT reads the referenced file and parses field names (one per line) to populate record types and fields. For FIXED_WIDTH type: DCT reads the referenced file and parses field definitions (one \"fieldName,fieldLength\" entry per line) to populate record types and fields. For JSON type: DCT reads the referenced sample JSON file and generates JSONPath-based field definitions to populate record types and fields.\n"
          },
          "make_current_account_owner": {
            "type": "boolean",
            "default": true,
            "description": "Whether the account creating this data format must be configured as owner of it."
          },
          "tags": {
            "type": "array",
            "description": "Tags to set on the data format at creation.",
            "items": {
              "$ref": "#/components/schemas/Tag"
            }
          }
        }
      },
      "FileFormatUpdateRequest": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "nullable": true,
            "description": "The new name of the data format."
          },
          "description": {
            "type": "string",
            "nullable": true,
            "description": "The new description of the data format."
          },
          "header": {
            "type": "integer",
            "minimum": 0,
            "nullable": true,
            "description": "Number of lines to skip at the start of the file."
          },
          "footer": {
            "type": "integer",
            "minimum": 0,
            "nullable": true,
            "description": "Number of lines to skip at the end of the file."
          }
        }
      },
      "DatabaseColumnMetadata": {
        "description": "An object describing a database column metadata with some settings.",
        "type": "object",
        "properties": {
          "id": {
            "description": "The id of this column metadata.",
            "type": "string",
            "minLength": 1,
            "example": "30"
          },
          "column_name": {
            "description": "The name of the column.",
            "type": "string",
            "example": "my_column"
          },
          "database_table_metadata_id": {
            "description": "The id of the database table metadata that this column belongs to.",
            "type": "string",
            "minLength": 1,
            "example": "30"
          },
          "table_name": {
            "description": "The name of the table that this column belongs to.",
            "type": "string",
            "example": "profile"
          },
          "rule_set_id": {
            "description": "The id of the rule set that this column metadata belongs to.",
            "type": "string",
            "example": "4ed2357d-f1a7-410c-b951-90f0edc1a0f6"
          },
          "rule_set_name": {
            "description": "The name of the rule set that this table metadata belongs to.",
            "type": "string",
            "example": "my rule set"
          },
          "engine_id": {
            "description": "The id of the engine associated with this column.",
            "type": "string",
            "example": "5ff0dab4-368c-4d57-8b61-9a09b6e80f42"
          },
          "engine_name": {
            "description": "The name of the engine associated with this column.",
            "type": "string",
            "example": "my engine"
          },
          "algorithm_id": {
            "description": "The id of the algorithm associated with this column.",
            "type": "string",
            "example": "7a1b2c3d-e4f5-4a6b-8c7d-9e0f1a2b3c4d"
          },
          "algorithm_name": {
            "description": "The name of the algorithm associated with this column.",
            "type": "string",
            "example": "My Secure Lookup"
          },
          "algorithm_field_id": {
            "description": "The id of the algorithm field that is associated with this algorithm.",
            "type": "string",
            "example": "1a2b3c4d-5e6f-7a8b-9c0d-1e2f3a4b5c6d"
          },
          "algorithm_field_name": {
            "description": "The name of the algorithm field that is associated with this column.",
            "type": "string",
            "example": "string1",
            "readOnly": true
          },
          "algorithm_group_no": {
            "description": "The group number of algorithm to identify a set of columns associated with one instance of algorithm.",
            "type": "integer",
            "format": "int32"
          },
          "data_class_id": {
            "description": "The id of the data class associated with this column.",
            "type": "string",
            "example": "6b5c4d3e-2a1b-4c3d-5e6f-7a8b9c0d1e2f"
          },
          "data_class_name": {
            "description": "The name of the data class associated with this column.",
            "type": "string",
            "example": "My Domain"
          },
          "data_type": {
            "description": "The data type of the column.",
            "type": "string",
            "example": "VARCHAR"
          },
          "date_format": {
            "description": "The format of the date stored in the column.",
            "type": "string",
            "example": "YYYY-MM-DD"
          },
          "column_length": {
            "description": "The length of the column.",
            "type": "integer",
            "format": "int32",
            "example": 255
          },
          "is_sensitive": {
            "description": "This field indicates whether or not a column has sensitive data.",
            "type": "boolean"
          },
          "is_profiler_writable": {
            "description": "Indicates whether this column is writable by the profiler.",
            "type": "boolean"
          },
          "is_primary_key": {
            "description": "Indicates whether this column is a primary key.",
            "type": "boolean"
          },
          "is_identity": {
            "description": "Indicates whether this column is an identity column.",
            "type": "boolean"
          },
          "is_index": {
            "description": "Indicates whether this column is indexed.",
            "type": "boolean"
          },
          "is_foreign_key": {
            "description": "Indicates whether this column is a foreign key.",
            "type": "boolean"
          },
          "file_format_id": {
            "description": "The id of the file format associated with this column.",
            "type": "string",
            "readOnly": true
          },
          "dct_managed": {
            "description": "Whether this data class is managed by DCT or not.",
            "type": "boolean",
            "readOnly": true
          },
          "document_store_type": {
            "type": "string",
            "readOnly": true,
            "enum": [
              "JSON",
              "XML"
            ],
            "description": "Indicates that this column contains an embedded structured document. When set, the masking engine traverses and masks fields within the document rather than masking the column value directly.\n"
          },
          "is_document_store_supported": {
            "type": "boolean",
            "readOnly": true,
            "nullable": true,
            "description": "Whether this column's data type supports document store masking. Null when data type is unknown.\n"
          },
          "is_nullable": {
            "description": "Whether this column allows null values. Populated from the source engine's column metadata on ruleset download/refresh, or set explicitly via PATCH. Null when no explicit value has been set and either the column's rule set has not yet completed a metadata download/refresh, or the most recent refresh's engine response did not report a nullable value for this column.\n",
            "type": "boolean",
            "nullable": true
          }
        }
      },
      "DatabaseColumnMetadataUpdateRequest": {
        "description": "Parameters to update a database column metadata.",
        "type": "object",
        "x-jackson-optional-nullable-helpers": true,
        "properties": {
          "algorithm_id": {
            "description": "The id or name of the algorithm associated with this column.",
            "type": "string",
            "nullable": true,
            "x-is-jackson-optional-nullable": true,
            "example": "7a1b2c3d-e4f5-4a6b-8c7d-9e0f1a2b3c4d"
          },
          "algorithm_field_id": {
            "description": "The id of the algorithm field that is associated with this algorithm.",
            "type": "string",
            "nullable": true,
            "x-is-jackson-optional-nullable": true,
            "example": "1a2b3c4d-5e6f-7a8b-9c0d-1e2f3a4b5c6d"
          },
          "algorithm_group_no": {
            "description": "The group number of algorithm to identify a set of columns associated with one instance of algorithm.",
            "type": "integer",
            "format": "int32",
            "nullable": true,
            "x-is-jackson-optional-nullable": true
          },
          "data_class_id": {
            "description": "The id of the data class associated with this column.",
            "type": "string",
            "example": "6b5c4d3e-2a1b-4c3d-5e6f-7a8b9c0d1e2f",
            "nullable": true,
            "x-is-jackson-optional-nullable": true
          },
          "date_format": {
            "description": "The format of the date stored in the column.",
            "type": "string",
            "example": "YYYY-MM-DD",
            "nullable": true,
            "x-is-jackson-optional-nullable": true
          },
          "file_format_id": {
            "description": "The id of the file format associated with this column.",
            "type": "string",
            "nullable": true,
            "x-is-jackson-optional-nullable": true
          },
          "is_profiler_writable": {
            "description": "This field indicates whether or not a column's fields (e.g. algorithm or domain assignment) may be modified during the execution of a profile job when there is a profiling match.",
            "type": "boolean"
          },
          "document_store_type": {
            "description": "Indicates that this column contains an embedded structured document. When set, the masking engine traverses and masks fields within the document rather than masking the column value directly. Set to null to clear.\n",
            "type": "string",
            "enum": [
              "JSON",
              "XML"
            ],
            "nullable": true,
            "x-is-jackson-optional-nullable": true
          },
          "is_nullable": {
            "description": "Whether this column allows null values. Omit this field to leave the current value unchanged; set it explicitly to null to clear it to unset/permissive. A subsequent ruleset download/refresh from the source engine can silently overwrite an explicitly-set value back to unset/permissive if the engine's response omits the nullable field or reports it differently, mirroring the engine's own refresh behavior.\n",
            "type": "boolean",
            "nullable": true,
            "x-is-jackson-optional-nullable": true
          }
        }
      },
      "DiscoveryExpression": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "The id of the discovery expression.",
            "example": "5ff0dab4-368c-4d57-8b61-9a09b6e80f42"
          },
          "name": {
            "type": "string",
            "description": "The name of the discovery expression.",
            "example": "my expression"
          },
          "regular_expression": {
            "type": "string",
            "description": "The regular expression that will be used to match against column/field names or data values during the execution of a discovery job. Only applicable for SEARCH expressions.",
            "example": ".*"
          },
          "data_level_profiling": {
            "type": "boolean",
            "description": "This field determines whether the discovery expression will be targeted at the underlying data in a data source (e.g. row values in the database column / field values in the file), or whether the discovery expression will be targeted at the schema of the data source (e.g. column names in a database table or field names in a file). Data-Level profiling consumes more memory than Column-Name-Level/Field-Name-Level profiling due to the fact that the discovery expression must be checked against a larger number of data values (e.g. hundreds) than column/field names (i.e. one). Only applicable for SEARCH expressions.",
            "example": true
          },
          "min_data_length": {
            "type": "integer",
            "description": "Minimum length of the value for string types. Only applicable for TYPE expressions.",
            "example": 1
          },
          "engine_id": {
            "type": "string",
            "description": "The id of the engine associated with this discovery expression.",
            "example": "5ff0dab4-368c-4d57-8b61-9a09b6e80f42"
          },
          "engine_name": {
            "type": "string",
            "description": "The name of the engine associated with this discovery expression.",
            "example": "my engine"
          },
          "data_class_id": {
            "type": "string",
            "description": "The id of the data class associated with this discovery expression.",
            "example": "6b5c4d3e-2a1b-4c3d-5e6f-7a8b9c0d1e2f"
          },
          "data_class_name": {
            "type": "string",
            "description": "The name of the data class associated with this discovery expression.",
            "example": "My Domain"
          },
          "data_type": {
            "type": "string",
            "enum": [
              "String",
              "Number",
              "Date",
              "Binary"
            ],
            "description": "Data type to apply a constraint to. Only applicable for TYPE expressions.",
            "example": "String"
          },
          "expression_type": {
            "type": "string",
            "enum": [
              "SEARCH",
              "TYPE"
            ],
            "description": "The type of the discovery expression.",
            "example": "SEARCH"
          },
          "level": {
            "type": "string",
            "enum": [
              "DATA",
              "COLUMN",
              "TYPE"
            ],
            "description": "The level of data sources this discovery expression will be targeted.",
            "example": "DATA"
          },
          "tags": {
            "description": "The tags of this discovery expression.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Tag"
            }
          }
        }
      },
      "ComplianceJobScript": {
        "description": "A SQL script to be run before or after a compliance job.",
        "type": "object",
        "required": [
          "name",
          "contents"
        ],
        "properties": {
          "name": {
            "description": "The name of the SQL script.",
            "type": "string",
            "example": "pre_script.sql"
          },
          "contents": {
            "description": "The contents of the SQL script.",
            "type": "string",
            "maxLength": 65535
          }
        }
      },
      "ComplianceJob": {
        "description": "A compliance job.",
        "type": "object",
        "properties": {
          "id": {
            "description": "The Compliance Job entity ID.",
            "type": "string",
            "readOnly": true,
            "example": "compliance-job-1"
          },
          "name": {
            "description": "The name of this Compliance Job.",
            "type": "string",
            "example": "My favorite ComplianceJob"
          },
          "rule_set_id": {
            "description": "The ID of the Rule Set used by this Compliance Job (Standard Job only). For hyperscale jobs, see dataset_id.",
            "type": "string",
            "example": "uuid"
          },
          "rule_set_name": {
            "description": "The name of the Rule Set used by this Compliance Job (Standard Job only). For hyperscale jobs, see dataset_id.",
            "type": "string",
            "example": "my rule set"
          },
          "connector_type": {
            "type": "string",
            "description": "The type of data being masked by this Job. If the Compliance Job is masking a database this is the type of the database (Standard Job only).",
            "example": "MARIADB"
          },
          "is_on_the_fly_masking": {
            "description": "Whether this is an on-the-fly masking job (Standard Job only).",
            "type": "boolean",
            "example": true
          },
          "is_multi_tenant": {
            "description": "If true, this job must be executed using a connector that is different from the underlying connector associated with its ruleset.",
            "type": "boolean",
            "example": false
          },
          "pre_script": {
            "$ref": "#/components/schemas/ComplianceJobScript"
          },
          "post_script": {
            "$ref": "#/components/schemas/ComplianceJobScript"
          },
          "creation_date": {
            "description": "The date this ComplianceJob was created (Standard Job only).",
            "type": "string",
            "format": "date-time",
            "example": "2022-11-30T08:51:34.148000+00:00"
          },
          "last_completed_execution_date": {
            "description": "The date this ComplianceJob was last executed to completion.",
            "type": "string",
            "format": "date-time",
            "example": "2022-11-30T09:51:34.148000+00:00"
          },
          "hyperscale_state": {
            "description": "The hyperscale capability/state for the compliance job.",
            "type": "string",
            "enum": [
              "NOT_AVAILABLE",
              "AVAILABLE",
              "ENABLED"
            ],
            "example": "NOT_AVAILABLE"
          },
          "last_execution_status": {
            "$ref": "#/components/schemas/ExecutionStatus"
          },
          "last_execution_id": {
            "description": "The ID of this ComplianceJob's last execution.",
            "type": "string",
            "example": "00e38996-7da2-4827-8f3e-0503234de537"
          },
          "last_execution_start_time": {
            "description": "The start time of the most recent execution of this compliance job.",
            "type": "string",
            "format": "date-time",
            "example": "2022-11-30T09:51:34.148000+00:00"
          },
          "last_execution_run_time": {
            "description": "The run time of the most recent execution of this compliance job in ms.",
            "type": "integer",
            "format": "int64",
            "example": 31000
          },
          "on_the_fly_source_connector_id": {
            "type": "string",
            "description": "The ID of the OTF source connector for this job",
            "nullable": true
          },
          "on_the_fly_source_connector_name": {
            "type": "string",
            "description": "The name of the OTF source connector for this job",
            "nullable": true
          },
          "on_the_fly_source_connector_type": {
            "type": "string",
            "description": "The type of the OTF source connector for this job",
            "nullable": true
          },
          "type": {
            "type": "string",
            "description": "The type of compliance job.",
            "enum": [
              "MASKING",
              "DISCOVERY",
              "TOKENIZATION",
              "REIDENTIFICATION"
            ],
            "example": "MASKING"
          },
          "execution_type": {
            "type": "string",
            "description": "The execution type of this Job.",
            "enum": [
              "STANDARD",
              "HYPERSCALE"
            ],
            "example": "STANDARD"
          },
          "hyperscale_instance_id": {
            "description": "The ID of the Hyperscale instance of this job (Hyperscale Job only).",
            "type": "string",
            "example": "abc"
          },
          "description": {
            "description": "Description of the job (Hyperscale Job only).",
            "type": "string",
            "example": "Job for app finance"
          },
          "dataset_id": {
            "description": "Dataset of the Hyperscale Job (Hyperscale Job only).",
            "type": "string",
            "example": "dataset-123"
          },
          "retain_execution_data": {
            "description": "Defines whether execution data will be stored after execution is complete (Hyperscale Job only).",
            "type": "string",
            "enum": [
              "NO",
              "ON_ERROR",
              "ALWAYS"
            ],
            "example": false
          },
          "max_memory": {
            "description": "The maximum amount of memory, in MB, that the compliance job can consume during execution. A value of 0 uses the default max memory set in application settings.",
            "type": "integer",
            "format": "int32",
            "example": 1024,
            "minimum": 0,
            "default": 0
          },
          "min_memory": {
            "description": "The minimum amount of memory, in MB, that the compliance job can consume during execution.",
            "type": "integer",
            "format": "int32",
            "example": 1024,
            "minimum": 0
          },
          "feedback_size": {
            "description": "The granularity with which the system provides updates on the progress of the compliance job. For instance, a feedback size of 50000 results in log updates whenever 50000 rows are processed during the masking phase.",
            "type": "integer",
            "format": "int32",
            "minimum": 1,
            "example": 50000
          },
          "stream_row_limit": {
            "description": "This value constrains the total number of rows that may enter the job for each masking stream. A value of 0 means unlimited. A value of -1 selects the default value. The default value for this setting varies by job type. The minimum explicit value allowed is 20.",
            "type": "integer",
            "format": "int32",
            "minimum": -1,
            "example": 20000
          },
          "num_input_streams": {
            "description": "This field controls the amount of parallelism that the masking job uses to extract out the data to be masked.",
            "type": "integer",
            "format": "int32",
            "minimum": 1,
            "default": 1,
            "example": 4
          },
          "max_concurrent_source_connections": {
            "description": "Maximum number of parallel connection that the Hyperscale instance can have with the source datasource (Hyperscale Job only).",
            "type": "integer",
            "format": "int32",
            "example": 32
          },
          "max_concurrent_target_connections": {
            "description": "Maximum number of parallel connection that the Hyperscale instance can have with the target datasource (Hyperscale Job only).",
            "type": "integer",
            "format": "int32",
            "example": 32
          },
          "hyperscale_enabled": {
            "type": "boolean",
            "example": true,
            "description": "This flag indicates if this compliance job is enabled for Hyperscale processing."
          },
          "auto_calculate_unload_split": {
            "type": "boolean",
            "example": true,
            "description": "If set, hyperscale will auto calculate the no of splits required for masking job."
          },
          "consider_continuous_compliance_warning_event_as": {
            "type": "string",
            "enum": [
              "SUCCESS",
              "FAILURE"
            ],
            "example": "SUCCESS",
            "description": "The flag to control behavior of Hyperscale Job execution on warning event in Continuous Compliance Job execution. Default behavior of Hyperscale Job on the WARNING status of Continuous Compliance Job execution, is to consider it as SUCCESS. One example of warning event in Continuous Compliance is masking non conformant data."
          },
          "create_all_indexes_with_nologging": {
            "type": "boolean",
            "example": false,
            "description": "Add all indexes with NOLOGGING as part of post load."
          },
          "disable_parallel_index_creation": {
            "type": "boolean",
            "example": false,
            "description": "Exclude indexes from combining with constraint and trigger groups as part of pre load."
          },
          "enable_all_constraints_with_novalidate": {
            "type": "boolean",
            "example": false,
            "description": "Enable all constraints with NOVALIDATE as part of post load."
          },
          "max_parallel_connections_per_table": {
            "type": "integer",
            "example": 10,
            "description": "Maximum number of parallel connection that per table per masking job."
          },
          "max_records_per_split": {
            "type": "integer",
            "format": "int64",
            "example": 100000000,
            "description": "Maximum number of rows allowed per split file for job execution."
          },
          "max_split_per_connection": {
            "type": "integer",
            "example": 4,
            "description": "Maximum number of split files allowed per connection for job execution."
          },
          "parallelism_degree": {
            "description": "The degree of parallelism (DOP) per Oracle job to recreate the index in the post-load process (Hyperscale Job only).",
            "type": "integer",
            "format": "int32",
            "example": 4
          },
          "source_masking_job_id": {
            "description": "The ID of the MaskingJob that was used as the source to create this job (Hyperscale Job only).",
            "type": "string",
            "example": "masking-job-0"
          },
          "engine_id": {
            "description": "The engine on which this job resides (Standard Job only).",
            "type": "string",
            "example": 1
          },
          "engine_name": {
            "description": "The name of the engine on which this job resides (Standard Job only).",
            "type": "string",
            "example": "masking-engine-1"
          },
          "engines": {
            "description": "List of compliance nodes this Hyperscale job can run on, with id and name (Hyperscale only).",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Engine"
            }
          },
          "discovery_policy_id": {
            "description": "The id of the discovery policy in use - applicable for discovery jobs only.",
            "nullable": true,
            "type": "string"
          },
          "discovery_policy_name": {
            "description": "The name of the discovery policy in use - applicable for discovery jobs only.",
            "nullable": true,
            "type": "string",
            "example": "ASDD Standard"
          },
          "environment_name": {
            "description": "The name of the environment in which this job resides on the compliance engine.",
            "type": "string",
            "example": "B2B Staging"
          },
          "application_name": {
            "description": "The name of the application associated with the environment in which this job resides on the compliance engine.",
            "type": "string",
            "example": "Custom B2B Solution"
          },
          "account_id": {
            "description": "The ID of the Account that created this ComplianceJob (Standard Job only).",
            "type": "integer",
            "format": "int64",
            "example": 1234
          },
          "account_name": {
            "description": "The username of the Account that created this ComplianceJob (Standard Job only).",
            "type": "string",
            "example": "dsmith"
          },
          "dct_managed": {
            "description": "Whether or not this ComplianceJob is managed by DCT (Standard Job only).",
            "type": "boolean",
            "example": false
          },
          "fail_immediately": {
            "description": "Whether to fail immediately or delay failure until job completion when a masking algorithm fails to mask its data (Standard Job only).",
            "type": "boolean",
            "default": false,
            "example": false
          },
          "batch_update": {
            "description": "Whether the database load phase to output the masked data will be performed in batches. The size of the batches is determined by the field 'commit_size'. (Standard Job only).",
            "type": "boolean",
            "default": true,
            "example": true
          },
          "commit_size": {
            "description": "The size of the database commits when performing batch updates (Standard Job only).",
            "type": "integer",
            "format": "int32",
            "minimum": 1,
            "example": 100
          },
          "num_output_threads_per_stream": {
            "description": "The amount of parallelism, per input stream, that the job uses to load back the masked data. For example, specifying 4 output threads per stream with 5 input streams results in a total of 20 output threads for the whole job. (Standard Job only).",
            "type": "integer",
            "format": "int32",
            "minimum": 1,
            "default": 1,
            "example": 10
          },
          "tags": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Tag"
            }
          },
          "job_orchestrator_id": {
            "type": "string",
            "readOnly": true
          },
          "job_orchestrator_name": {
            "type": "string",
            "readOnly": true
          },
          "reset_profiling_assignments": {
            "description": "Determines whether the ruleset assignments for the previous profiling execution need to be cleared before this job gets executed.",
            "type": "boolean",
            "example": true
          },
          "multiple_profiler_check": {
            "description": "When enabled, assigns a default algorithm if multiple classifiers match across different data classes above the threshold.",
            "type": "boolean",
            "example": true
          },
          "truncate_tables": {
            "description": "Whether to truncate target database tables before loading masked data. Only applies to database on-the-fly masking jobs.",
            "type": "boolean",
            "example": false
          },
          "drop_indexes": {
            "description": "Whether to temporarily drop indexes prior to masking. This only applies to MySQL/MariaDB masking jobs. Other platforms should use enabled_tasks.",
            "type": "boolean",
            "example": false
          },
          "enabled_tasks": {
            "description": "Tasks to perform before/after a job from a set of available driver support tasks as indicated by the target rule-set's connector.",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "non_conformant_data_handling": {
            "nullable": true,
            "allOf": [
              {
                "$ref": "#/components/schemas/NonConformantDataHandling"
              }
            ]
          }
        }
      },
      "CreateComplianceJobRequest": {
        "description": "Parameters to create a compliance job.\n\nThe referenced rule set's `purpose` must be compatible with the job `type`:\n  - MASKING          -> rule set purpose must be MASK\n  - DISCOVERY        -> either MASK or TOKENIZE\n  - TOKENIZATION     -> rule set purpose must be TOKENIZE\n  - REIDENTIFICATION -> rule set purpose must be TOKENIZE\n",
        "type": "object",
        "required": [
          "name",
          "rule_set_id",
          "type"
        ],
        "properties": {
          "name": {
            "description": "The name of this compliance job.",
            "type": "string",
            "example": "My favorite ComplianceJob"
          },
          "description": {
            "description": "A description of the compliance job.",
            "type": "string",
            "example": "Job for app finance"
          },
          "rule_set_id": {
            "description": "The ID of the Rule Set used by this compliance job.",
            "type": "string",
            "example": "uuid"
          },
          "type": {
            "description": "The type of compliance job.",
            "type": "string",
            "enum": [
              "MASKING",
              "DISCOVERY",
              "TOKENIZATION",
              "REIDENTIFICATION"
            ],
            "example": "MASKING"
          },
          "discovery_policy_id": {
            "description": "The ID of the discovery policy to use for this compliance job. This is only applicable for DISCOVERY jobs.",
            "type": "string",
            "example": "uuid"
          },
          "max_memory": {
            "description": "The maximum amount of memory, in MB, that the compliance job can consume during execution. A value of 0 or omitting this field uses the default max memory set in application settings.",
            "type": "integer",
            "format": "int32",
            "minimum": 0,
            "example": 1024
          },
          "min_memory": {
            "description": "The minimum amount of memory, in MB, that the compliance job can consume during execution. Omitting this field uses the default min memory set in application settings.",
            "type": "integer",
            "format": "int32",
            "minimum": 0,
            "example": 1024
          },
          "feedback_size": {
            "description": "The granularity with which the system provides updates on the progress of the compliance job. For instance, a feedback size of 50000 results in log updates whenever 50000 rows are processed during the masking phase.",
            "type": "integer",
            "format": "int32",
            "minimum": 1,
            "example": 50000,
            "default": 50000
          },
          "stream_row_limit": {
            "description": "This value constrains the total number of rows that may enter the job for each masking stream. A value of 0 means unlimited. A value of -1 selects the default value. The minimum explicit value allowed is 20.",
            "type": "integer",
            "format": "int32",
            "minimum": -1,
            "example": 20000
          },
          "num_input_streams": {
            "description": "This field controls the amount of parallelism that the masking job uses to extract out the data to be masked. For instance, when masking a database, specifying 5 input streams results in the compliance job reading up to 5 database tables in parallel and then masking those 5 streams of data in parallel. The higher the value of this field, the more potential parallelism there will be in the job, but the masking job will consume more memory. If the number of input streams exceeds the number of units being masked (e.g. tables or files), then the excess streams will do nothing.",
            "type": "integer",
            "format": "int32",
            "minimum": 1,
            "default": 1,
            "example": 4
          },
          "max_concurrent_source_connections": {
            "description": "Maximum number of parallel connection that the Hyperscale instance can have with the source datasource (Hyperscale Job only).",
            "type": "integer",
            "format": "int32",
            "minimum": 1,
            "example": 32
          },
          "max_concurrent_target_connections": {
            "description": "Maximum number of parallel connection that the Hyperscale instance can have with the target datasource (Hyperscale Job only).",
            "type": "integer",
            "format": "int32",
            "minimum": 1,
            "example": 32
          },
          "hyperscale_enabled": {
            "type": "boolean",
            "example": true,
            "description": "This flag indicates if this compliance job is enabled for Hyperscale processing."
          },
          "auto_calculate_unload_split": {
            "type": "boolean",
            "example": true,
            "description": "If set, hyperscale will auto calculate the no of splits required for masking job."
          },
          "consider_continuous_compliance_warning_event_as": {
            "type": "string",
            "enum": [
              "SUCCESS",
              "FAILURE"
            ],
            "example": "SUCCESS",
            "description": "The flag to control behavior of Hyperscale Job execution on warning event in Continuous Compliance Job execution. Default behavior of Hyperscale Job on the WARNING status of Continuous Compliance Job execution, is to consider it as SUCCESS. One example of warning event in Continuous Compliance is masking non conformant data."
          },
          "create_all_indexes_with_nologging": {
            "type": "boolean",
            "example": false,
            "description": "Add all indexes with NOLOGGING as part of post load."
          },
          "disable_parallel_index_creation": {
            "type": "boolean",
            "example": false,
            "description": "Exclude indexes from combining with constraint and trigger groups as part of pre load."
          },
          "enable_all_constraints_with_novalidate": {
            "type": "boolean",
            "example": false,
            "description": "Enable all constraints with NOVALIDATE as part of post load."
          },
          "max_parallel_connections_per_table": {
            "type": "integer",
            "minimum": 1,
            "maximum": 32767,
            "example": 10,
            "description": "Maximum number of parallel connection that per table per masking job."
          },
          "max_records_per_split": {
            "type": "integer",
            "format": "int64",
            "minimum": 1,
            "example": 100000000,
            "description": "Maximum number of rows allowed per split file for job execution."
          },
          "max_split_per_connection": {
            "type": "integer",
            "minimum": 1,
            "maximum": 32767,
            "example": 4,
            "description": "Maximum number of split files allowed per connection for job execution."
          },
          "parallelism_degree": {
            "description": "The degree of parallelism (DOP) per Oracle job to recreate the index in the post-load process (Hyperscale Job only).",
            "type": "integer",
            "format": "int32",
            "minimum": -1,
            "maximum": 32767,
            "example": 4
          },
          "fail_immediately": {
            "description": "Whether to fail immediately or delay failure until job completion when a masking algorithm fails to mask its data.",
            "type": "boolean",
            "default": false,
            "example": false
          },
          "batch_update": {
            "description": "Whether the database load phase to output the masked data will be performed in batches. The size of the batches is determined by the field 'commit_size'.",
            "type": "boolean",
            "default": true,
            "example": true
          },
          "commit_size": {
            "description": "The size of the database commits when performing batch updates. Omitting this field uses the default commit size set in application settings.",
            "type": "integer",
            "format": "int32",
            "minimum": 1,
            "example": 10000
          },
          "num_output_threads_per_stream": {
            "description": "The amount of parallelism, per input stream, that the job uses to load back the masked data. For example, specifying 4 output threads per stream with 5 input streams results in a total of 20 output threads for the whole job.",
            "type": "integer",
            "format": "int32",
            "minimum": 1,
            "default": 1,
            "example": 10
          },
          "make_current_account_owner": {
            "type": "boolean",
            "default": true,
            "description": "Whether the account creating this compliance job should be configured as its owner."
          },
          "is_multi_tenant": {
            "description": "If true, this job must be executed using a connector that is different from the underlying connector associated with its ruleset.",
            "type": "boolean",
            "default": false,
            "example": false
          },
          "on_the_fly_source_connector_id": {
            "type": "string",
            "description": "The ID of the OTF source connector for this job.",
            "nullable": true
          },
          "reset_profiling_assignments": {
            "description": "Determines whether the ruleset assignments for the previous profiling execution need to be cleared before this job gets executed.",
            "type": "boolean",
            "example": true
          },
          "multiple_profiler_check": {
            "description": "When enabled, assigns a default algorithm if multiple classifiers match across different data classes above the threshold.",
            "type": "boolean",
            "example": true
          },
          "truncate_tables": {
            "description": "Whether to truncate target database tables before loading masked data. Only applies to database on-the-fly masking jobs.",
            "type": "boolean",
            "default": false,
            "example": false
          },
          "drop_indexes": {
            "description": "Whether to temporarily drop indexes prior to masking. This only applies to MySQL/MariaDB masking jobs. Other platforms should use enabled_tasks.",
            "type": "boolean",
            "default": false,
            "example": false
          },
          "pre_script": {
            "$ref": "#/components/schemas/ComplianceJobScript"
          },
          "post_script": {
            "$ref": "#/components/schemas/ComplianceJobScript"
          },
          "enabled_tasks": {
            "description": "Tasks to perform before/after a job from a set of available driver support tasks as indicated by the target rule-set's connector.",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "non_conformant_data_handling": {
            "nullable": true,
            "allOf": [
              {
                "$ref": "#/components/schemas/NonConformantDataHandling"
              }
            ]
          },
          "tags": {
            "description": "The tags to set on the compliance job.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Tag"
            }
          }
        }
      },
      "UpdateComplianceJobRequest": {
        "description": "Parameters to update a compliance job.\n\nWhen `rule_set_id` is supplied, the new rule set's `purpose` must be compatible\nwith the job's existing `type`:\n  - MASKING          -> rule set purpose must be MASK\n  - DISCOVERY        -> either MASK or TOKENIZE\n  - TOKENIZATION     -> rule set purpose must be TOKENIZE\n  - REIDENTIFICATION -> rule set purpose must be TOKENIZE\n",
        "x-jackson-optional-nullable-helpers": true,
        "type": "object",
        "properties": {
          "name": {
            "description": "The name of this compliance job.",
            "type": "string",
            "example": "My favorite ComplianceJob"
          },
          "description": {
            "description": "A description of the compliance job.",
            "type": "string",
            "example": "Job for app finance",
            "x-is-jackson-optional-nullable": true
          },
          "rule_set_id": {
            "description": "The ID of the Rule Set used by this compliance job.",
            "type": "string",
            "example": "uuid"
          },
          "discovery_policy_id": {
            "description": "The ID of the discovery policy to use for this compliance job. This is only applicable for DISCOVERY jobs.",
            "type": "string",
            "example": "uuid"
          },
          "max_memory": {
            "description": "The maximum amount of memory, in MB, that the compliance job can consume during execution. A value of 0 uses the default max memory set in application settings.",
            "type": "integer",
            "format": "int32",
            "minimum": 0,
            "example": 1024,
            "x-is-jackson-optional-nullable": true
          },
          "min_memory": {
            "description": "The minimum amount of memory, in MB, that the compliance job can consume during execution.",
            "type": "integer",
            "format": "int32",
            "minimum": 0,
            "example": 1024,
            "x-is-jackson-optional-nullable": true
          },
          "feedback_size": {
            "description": "The granularity with which the system provides updates on the progress of the compliance job. For instance, a feedback size of 50000 results in log updates whenever 50000 rows are processed during the masking phase.",
            "type": "integer",
            "format": "int32",
            "minimum": 1,
            "example": 50000,
            "x-is-jackson-optional-nullable": true
          },
          "stream_row_limit": {
            "description": "This value constrains the total number of rows that may enter the job for each masking stream. A value of 0 means unlimited. A value of -1 selects the default value. The minimum explicit value allowed is 20.",
            "type": "integer",
            "format": "int32",
            "minimum": -1,
            "example": 20000,
            "x-is-jackson-optional-nullable": true
          },
          "num_input_streams": {
            "description": "This field controls the amount of parallelism that the masking job uses to extract out the data to be masked. For instance, when masking a database, specifying 5 input streams results in the compliance job reading up to 5 database tables in parallel and then masking those 5 streams of data in parallel. The higher the value of this field, the more potential parallelism there will be in the job, but the masking job will consume more memory. If the number of input streams exceeds the number of units being masked (e.g. tables or files), then the excess streams will do nothing.",
            "type": "integer",
            "format": "int32",
            "minimum": 1,
            "example": 4
          },
          "max_concurrent_source_connections": {
            "description": "Maximum number of parallel connection that the Hyperscale instance can have with the source datasource (Hyperscale Job only).",
            "type": "integer",
            "format": "int32",
            "minimum": 1,
            "example": 32,
            "x-is-jackson-optional-nullable": true
          },
          "max_concurrent_target_connections": {
            "description": "Maximum number of parallel connection that the Hyperscale instance can have with the target datasource (Hyperscale Job only).",
            "type": "integer",
            "format": "int32",
            "minimum": 1,
            "example": 32,
            "x-is-jackson-optional-nullable": true
          },
          "hyperscale_enabled": {
            "type": "boolean",
            "example": true,
            "description": "This flag indicates if this compliance job is enabled for Hyperscale processing."
          },
          "auto_calculate_unload_split": {
            "type": "boolean",
            "example": true,
            "description": "If set, hyperscale will auto calculate the no of splits required for masking job."
          },
          "consider_continuous_compliance_warning_event_as": {
            "type": "string",
            "enum": [
              "SUCCESS",
              "FAILURE"
            ],
            "example": "SUCCESS",
            "description": "The flag to control behavior of Hyperscale Job execution on warning event in Continuous Compliance Job execution. Default behavior of Hyperscale Job on the WARNING status of Continuous Compliance Job execution, is to consider it as SUCCESS. One example of warning event in Continuous Compliance is masking non conformant data.",
            "x-is-jackson-optional-nullable": true
          },
          "create_all_indexes_with_nologging": {
            "type": "boolean",
            "example": false,
            "description": "Add all indexes with NOLOGGING as part of post load."
          },
          "disable_parallel_index_creation": {
            "type": "boolean",
            "example": false,
            "description": "Exclude indexes from combining with constraint and trigger groups as part of pre load."
          },
          "enable_all_constraints_with_novalidate": {
            "type": "boolean",
            "example": false,
            "description": "Enable all constraints with NOVALIDATE as part of post load."
          },
          "max_parallel_connections_per_table": {
            "type": "integer",
            "minimum": 1,
            "maximum": 32767,
            "example": 16,
            "description": "Maximum number of parallel connection that per table per masking job.",
            "x-is-jackson-optional-nullable": true
          },
          "max_records_per_split": {
            "type": "integer",
            "format": "int64",
            "minimum": 1,
            "example": 100000000,
            "description": "Maximum number of rows allowed per split file for job execution.",
            "x-is-jackson-optional-nullable": true
          },
          "max_split_per_connection": {
            "type": "integer",
            "minimum": 1,
            "maximum": 32767,
            "example": 4,
            "description": "Maximum number of split files allowed per connection for job execution.",
            "x-is-jackson-optional-nullable": true
          },
          "parallelism_degree": {
            "description": "The degree of parallelism (DOP) per Oracle job to recreate the index in the post-load process (Hyperscale Job only).",
            "type": "integer",
            "format": "int32",
            "minimum": -1,
            "maximum": 32767,
            "example": 4,
            "x-is-jackson-optional-nullable": true
          },
          "retain_execution_data": {
            "description": "Defines whether execution data will be stored after execution is complete (Hyperscale Job only).",
            "type": "string",
            "enum": [
              "NO",
              "ON_ERROR",
              "ALWAYS"
            ],
            "example": false,
            "x-is-jackson-optional-nullable": true
          },
          "fail_immediately": {
            "description": "Whether to fail immediately or delay failure until job completion when a masking algorithm fails to mask its data.",
            "type": "boolean",
            "example": false
          },
          "batch_update": {
            "description": "Whether the database load phase to output the masked data will be performed in batches. The size of the batches is determined by the field 'commit_size'.",
            "type": "boolean",
            "example": true
          },
          "commit_size": {
            "description": "The size of the database commits when performing batch updates.",
            "type": "integer",
            "format": "int32",
            "minimum": 1,
            "example": 20000,
            "x-is-jackson-optional-nullable": true
          },
          "num_output_threads_per_stream": {
            "description": "The amount of parallelism, per input stream, that the job uses to load back the masked data. For example, specifying 4 output threads per stream with 5 input streams results in a total of 20 output threads for the whole job.",
            "type": "integer",
            "format": "int32",
            "minimum": 1,
            "example": 10,
            "x-is-jackson-optional-nullable": true
          },
          "is_multi_tenant": {
            "description": "If true, this job must be executed using a connector that is different from the underlying connector associated with its ruleset.",
            "type": "boolean",
            "example": false
          },
          "on_the_fly_source_connector_id": {
            "type": "string",
            "description": "The ID of the OTF source connector for this job.",
            "nullable": true,
            "x-is-jackson-optional-nullable": true
          },
          "reset_profiling_assignments": {
            "description": "Determines whether the ruleset assignments for the previous profiling execution need to be cleared before this job gets executed.",
            "type": "boolean",
            "example": true
          },
          "multiple_profiler_check": {
            "description": "When enabled, assigns a default algorithm if multiple classifiers match across different data classes above the threshold.",
            "type": "boolean",
            "example": true
          },
          "truncate_tables": {
            "description": "Whether to truncate target database tables before loading masked data. Only applies to database on-the-fly masking jobs.",
            "type": "boolean",
            "example": false
          },
          "drop_indexes": {
            "description": "Whether to temporarily drop indexes prior to masking. This only applies to MySQL/MariaDB masking jobs. Other platforms should use enabled_tasks.",
            "type": "boolean",
            "example": false
          },
          "pre_script": {
            "nullable": true,
            "x-is-jackson-optional-nullable": true,
            "allOf": [
              {
                "$ref": "#/components/schemas/ComplianceJobScript"
              }
            ],
            "title": "UpdateComplianceJobScript"
          },
          "post_script": {
            "nullable": true,
            "x-is-jackson-optional-nullable": true,
            "allOf": [
              {
                "$ref": "#/components/schemas/ComplianceJobScript"
              }
            ],
            "title": "UpdateComplianceJobScript"
          },
          "enabled_tasks": {
            "description": "Tasks to perform before/after a job from a set of available driver support tasks as indicated by the target rule-set's connector.",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "non_conformant_data_handling": {
            "nullable": true,
            "x-is-jackson-optional-nullable": true,
            "allOf": [
              {
                "$ref": "#/components/schemas/NonConformantDataHandling"
              }
            ]
          },
          "engine_ids": {
            "description": "List of compliance node identifiers (id or name) that this Hyperscale job can run on\n(Hyperscale Job only). Each element may be either a compliance node id or a\ncompliance node name.\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        }
      },
      "ComplianceJobCollection": {
        "type": "object",
        "description": "A compliance job collection.",
        "properties": {
          "id": {
            "description": "The Compliance Job Collection entity ID.",
            "type": "string",
            "readOnly": true,
            "example": "compliance-job-collection-1"
          },
          "name": {
            "type": "string",
            "description": "The name of the compliance job collection.",
            "example": "My favorite Compliance Job Collection"
          },
          "description": {
            "type": "string",
            "description": "The description of the compliance job collection.",
            "example": "Compliance Job Collection for app finance"
          },
          "creation_date": {
            "type": "string",
            "readOnly": true,
            "description": "The date this compliance job collection was created.",
            "format": "date-time",
            "example": "2022-11-30T08:51:34.148000+00:00"
          },
          "job_count": {
            "type": "integer",
            "readOnly": true,
            "description": "The number of jobs in this compliance job collection.",
            "example": 10
          },
          "last_execution_id": {
            "type": "string",
            "readOnly": true,
            "description": "The ID of the last execution of this compliance job collection if exists.",
            "example": "414ed52c-fa89-455d-9fb9-9c2fa5115f80"
          },
          "failure_handling": {
            "type": "string",
            "description": "The failure handling settings for the compliance job collection.",
            "nullable": true,
            "$ref": "#/components/schemas/JobCollectionFailureHandlingEnum"
          },
          "job_missing": {
            "type": "boolean",
            "readOnly": true,
            "description": "Whether any jobs in the collection are missing."
          },
          "members": {
            "type": "array",
            "description": "The list of compliance job IDs and their collection sequence to be included in the collection.",
            "items": {
              "$ref": "#/components/schemas/ComplianceJobCollectionMembers"
            },
            "maxItems": 100,
            "uniqueItems": true
          },
          "tags": {
            "description": "The tags of this compliance job collection.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Tag"
            }
          }
        }
      },
      "CreateComplianceJobCollectionRequest": {
        "type": "object",
        "description": "Parameters to create a compliance job collection.",
        "required": [
          "name"
        ],
        "properties": {
          "name": {
            "type": "string",
            "description": "The name of the compliance job collection.",
            "example": "My favorite Compliance Job Collection"
          },
          "description": {
            "type": "string",
            "description": "The description of the compliance job collection.",
            "example": "Compliance Job Collection for app finance"
          },
          "failure_handling": {
            "type": "string",
            "description": "The failure handling settings for the compliance job collection.",
            "nullable": true,
            "$ref": "#/components/schemas/JobCollectionFailureHandlingEnum"
          },
          "members": {
            "type": "array",
            "description": "The list of compliance job IDs and their collection sequence to be included in the collection.",
            "items": {
              "$ref": "#/components/schemas/ComplianceJobCollectionMembers"
            },
            "maxItems": 100,
            "uniqueItems": true
          },
          "tags": {
            "description": "The tags to be created for this compliance job collection.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Tag"
            }
          }
        }
      },
      "UpdateComplianceJobCollectionRequest": {
        "type": "object",
        "description": "Parameters to update a compliance job collection.",
        "properties": {
          "name": {
            "type": "string",
            "description": "The name of the compliance job collection.",
            "example": "My favorite Compliance Job Collection"
          },
          "description": {
            "type": "string",
            "description": "The description of the compliance job collection.",
            "example": "Compliance Job Collection for app finance"
          },
          "failure_handling": {
            "type": "string",
            "description": "The failure handling settings for the compliance job collection.",
            "nullable": true,
            "$ref": "#/components/schemas/JobCollectionFailureHandlingEnum"
          },
          "members": {
            "type": "array",
            "description": "The list of compliance job IDs and their collection sequence to be included in the collection.",
            "items": {
              "$ref": "#/components/schemas/ComplianceJobCollectionMembers"
            },
            "maxItems": 100,
            "uniqueItems": true
          }
        }
      },
      "ExecuteComplianceJobCollectionRequest": {
        "type": "object",
        "description": "Parameters to execute a compliance job collection."
      },
      "CancelJobCollectionExecutionRequest": {
        "type": "object",
        "description": "Parameters to execute a compliance job collection."
      },
      "ComplianceJobCollectionMembers": {
        "type": "object",
        "properties": {
          "sequence": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100,
            "default": 1,
            "nullable": false,
            "description": "The sequence number of the job in the collection."
          },
          "compliance_job_id": {
            "type": "string",
            "description": "The ID of the compliance job."
          }
        }
      },
      "JobCollectionFailureHandlingEnum": {
        "type": "string",
        "enum": [
          "IGNORE",
          "CANCEL_ALL",
          "CANCEL_SUBSEQUENT"
        ],
        "example": "IGNORE"
      },
      "JobCollectionExecution": {
        "description": "The execution of a compliance job collection.",
        "type": "object",
        "properties": {
          "id": {
            "description": "The job collection execution ID.",
            "type": "string",
            "example": "414ed52c-fa89-455d-9fb9-9c2fa5115f80"
          },
          "compliance_job_collection_id": {
            "description": "The ID of the compliance job collection executed.",
            "type": "string",
            "example": "5ed2357d-21a7-310c-b951-a0f0edc1a0f6"
          },
          "compliance_job_collection_name": {
            "description": "The name of the compliance job collection executed.",
            "type": "string",
            "example": "My Job Collection"
          },
          "status": {
            "$ref": "#/components/schemas/ExecutionStatus"
          },
          "status_reason": {
            "$ref": "#/components/schemas/ExecutionStatusReason"
          },
          "start_time": {
            "description": "The date and time that this job collection execution started.",
            "type": "string",
            "format": "date-time",
            "example": "2021-05-01T09:51:34.148000+00:00"
          },
          "end_time": {
            "description": "The date and time that this job collection execution completed.",
            "type": "string",
            "format": "date-time",
            "example": "2021-05-01T09:55:34.148000+00:00"
          },
          "run_duration": {
            "description": "The time this job collection execution spent running, in milliseconds.",
            "type": "integer",
            "format": "int64",
            "example": 4000
          },
          "actual_execution_count": {
            "description": "The number of compliance jobs that were actually executed.",
            "type": "integer",
            "format": "int32",
            "example": 5
          },
          "planned_execution_count": {
            "description": "The number of compliance jobs that were planned to be executed.",
            "type": "integer",
            "format": "int32",
            "example": 7
          },
          "rows_processed": {
            "description": "The number of rows processed so far by this job collection execution. This is not applicable for JSON file type.",
            "type": "integer",
            "format": "int64",
            "example": 1000
          },
          "rows_total": {
            "description": "The total number of rows for this job collection execution. This value is set after the job collection execution has completed successfully. This is not applicable for JSON file type.",
            "type": "integer",
            "format": "int64",
            "example": 5000
          },
          "bytes_processed": {
            "description": "The number of bytes processed so far by this job collection execution. This is only applicable for JSON file type.",
            "type": "integer",
            "format": "int64",
            "example": 500
          },
          "bytes_total": {
            "description": "The total number of bytes for this job collection execution. This value is set after the job collectione execution has completed successfully. This is only applicable for JSON file type.",
            "type": "integer",
            "format": "int64",
            "example": 5000000
          },
          "processed_tables_files_count": {
            "description": "The number of tables or files processed so far by this job collection execution.",
            "type": "integer",
            "format": "int64",
            "example": 5
          },
          "tables_files_count": {
            "description": "The total number of tables or files for this job collection execution.",
            "type": "integer",
            "format": "int64",
            "example": 10
          },
          "processed_columns_fields_count": {
            "description": "The number of columns or fields processed so far by this job collection execution.",
            "type": "integer",
            "format": "int64",
            "example": 50
          },
          "columns_fields_count": {
            "description": "The total number of columns or fields for this job collection execution.",
            "type": "integer",
            "format": "int64",
            "example": 100
          },
          "percent_complete": {
            "description": "The percentage of completion of this job collection execution.",
            "type": "integer",
            "format": "int32",
            "example": 20
          },
          "execute_account_id": {
            "description": "The account id of the DCT user who started this job collection execution.",
            "type": "integer",
            "format": "int64",
            "example": 3
          },
          "execute_account_name": {
            "description": "The account name of the DCT user who started this job collection execution.",
            "type": "string",
            "example": "John Doe"
          },
          "cancel_account_id": {
            "description": "The account id of the DCT user who cancelled this job collection execution.",
            "type": "integer",
            "format": "int64",
            "example": 3
          },
          "cancel_account_name": {
            "description": "The account name of the DCT user who cancelled this job collection execution.",
            "type": "string",
            "example": "John Doe"
          }
        }
      },
      "DiscoveryResult": {
        "description": "The result of sensitive data discovery on a single column or field",
        "type": "object",
        "properties": {
          "id": {
            "description": "The DCT local id of this discovery result",
            "type": "string",
            "example": 1
          },
          "table_name": {
            "description": "The name of the table to which the column belongs",
            "type": "string",
            "example": "cust_address"
          },
          "file_name": {
            "description": "The name of the file to which the discovery result applies",
            "type": "string",
            "example": "report.json"
          },
          "column_name": {
            "description": "The name the column to which the discovery result applies",
            "type": "string",
            "example": "ADDR_LINE_1"
          },
          "field_name": {
            "description": "The name the field to which the discovery result applies",
            "type": "string",
            "example": "customer name"
          },
          "data_class_name": {
            "description": "The data class selected for the column or field",
            "type": "string",
            "example": "FIRST_NAME"
          },
          "algorithm_name": {
            "description": "The name of the algorithm selected for the column or field",
            "type": "string",
            "example": "FIRST_NAME_SL"
          },
          "data_type": {
            "description": "The data type determined for the column or field",
            "type": "string",
            "example": "varchar"
          },
          "confidence": {
            "description": "The confidence of the discovery result, ranging from -100 to 100",
            "type": "integer",
            "format": "int32",
            "example": 85
          },
          "is_profiler_writable": {
            "description": "Whether the corresponding ruleset column or field was configured to allow the discovery process to update the masking assignment",
            "type": "boolean"
          }
        }
      },
      "JobOrchestrator": {
        "type": "object",
        "description": "A job orchestrator.",
        "properties": {
          "id": {
            "description": "The Job Orchestrator entity ID.",
            "type": "string",
            "readOnly": true,
            "example": "414ed52c-abed-455d-9fb9-9c2fa5115f80"
          },
          "name": {
            "type": "string",
            "description": "The name of the job orchestrator.",
            "example": "My favorite Job Orchestrator"
          },
          "description": {
            "type": "string",
            "description": "The description of the job orchestrator.",
            "example": "Job Orchestrator for US-west"
          },
          "creation_date": {
            "type": "string",
            "readOnly": true,
            "description": "The date this job orchestrator was created.",
            "format": "date-time",
            "example": "2022-11-30T08:51:34.148000+00:00"
          },
          "account_id": {
            "description": "The ID of the account who created this job orchestrator.",
            "type": "integer",
            "format": "int64",
            "readOnly": true,
            "example": 1
          },
          "account_name": {
            "description": "The account name of the DCT user who created this job orchestrator.",
            "type": "string",
            "example": "username"
          },
          "node_count": {
            "type": "integer",
            "readOnly": true,
            "description": "The number of compliance nodes registered with this Job Orchestrator that are not bound to a Hyperscale Instance.",
            "example": 10
          },
          "total_core_count": {
            "type": "integer",
            "readOnly": true,
            "description": "The total number of cores across compliance nodes registered with this Job Orchestrator that are not bound to a Hyperscale Instance.",
            "example": 10
          },
          "queued_operation_count": {
            "type": "integer",
            "readOnly": true,
            "description": "The number of operations currently queued on this job orchestrator.",
            "example": 10
          },
          "running_job_count": {
            "type": "integer",
            "readOnly": true,
            "description": "The number of jobs currently running on this job orchestrator.",
            "example": 10
          },
          "tags": {
            "description": "The tags of this job orchestrator.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Tag"
            }
          },
          "hyperscale_instance_id": {
            "type": "string",
            "readOnly": true,
            "description": "The ID of the hyperscale instance associated with this job orchestrator if applicable.",
            "example": "hyperscale-instance-123"
          }
        }
      },
      "CreateJobOrchestratorRequest": {
        "type": "object",
        "description": "Parameters to create a job orchestrator.",
        "required": [
          "name"
        ],
        "properties": {
          "name": {
            "type": "string",
            "description": "The name of the job orchestrator.",
            "example": "My favorite Job Orchestrator"
          },
          "description": {
            "type": "string",
            "description": "The description of the job orchestrator.",
            "example": "Job Orchestrator for US-west"
          },
          "tags": {
            "description": "The tags to be created for this compliance job collection.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Tag"
            }
          },
          "make_current_account_owner": {
            "type": "boolean",
            "default": true,
            "description": "Whether the account creating this Job Orchestrator must be configured as its owner."
          }
        }
      },
      "UpdateJobOrchestratorRequest": {
        "type": "object",
        "description": "Parameters to update a job orchestrator.",
        "properties": {
          "name": {
            "type": "string",
            "description": "The name of the job orchestrator.",
            "example": "My favorite Job Orchestrator"
          },
          "description": {
            "type": "string",
            "description": "The description of the job orchestrator.",
            "example": "Job Orchestrator for US-west"
          }
        }
      },
      "GenerateJobOrchestratorSupportBundleRequest": {
        "description": "Parameters to generate a job orchestrator support bundle.",
        "type": "object",
        "properties": {
          "target_node_ids": {
            "description": "List of node IDs to include in the support bundle. If empty, all nodes will be included.",
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        }
      },
      "QueuedOperation": {
        "description": "A queued operation on a job orchestrator.",
        "type": "object",
        "properties": {
          "id": {
            "description": "The QueuedOperation entity ID.",
            "type": "string",
            "example": "queued-operation-123"
          },
          "job_orchestrator_id": {
            "description": "The ID of the JobOrchestrator where the operation is queued.",
            "type": "string",
            "example": "f8e7d6c5-b4a3-2109-8765-43210fedcba9"
          },
          "enqueued_date": {
            "description": "The date and time when the operation was enqueued.",
            "type": "string",
            "format": "date-time",
            "example": "2025-10-03T01:00:00.148000+00:00"
          },
          "job_type": {
            "description": "The type of Job.",
            "type": "string",
            "example": "RULE_SET_REFRESH"
          },
          "localized_job_type": {
            "description": "The localized type of Job.",
            "type": "string",
            "example": "Rule Set Refresh"
          },
          "job_id": {
            "description": "The ID of the Job tracking this queued operation.",
            "type": "string",
            "example": "414ed52c-fa89-455d-9fb9-9c2fa5115f80"
          },
          "target_id": {
            "description": "A reference to the associated job's target.",
            "type": "string",
            "example": "rule-set-123"
          },
          "target_name": {
            "description": "The associated job's target name.",
            "type": "string",
            "example": "my-rule-set"
          },
          "target_type": {
            "description": "The associated job's target object type.",
            "type": "string",
            "example": "RULE_SET"
          },
          "account_id": {
            "description": "The ID of the account who initiated this job.",
            "type": "integer",
            "format": "int64",
            "readOnly": true,
            "example": 1
          },
          "account_name": {
            "description": "The account name of the DCT user who initiated this job.",
            "type": "string",
            "readOnly": true,
            "example": "John Doe"
          }
        }
      },
      "AlgorithmCreateRequest": {
        "description": "Parameters to create a masking algorithm.",
        "type": "object",
        "required": [
          "name",
          "config",
          "framework_id"
        ],
        "properties": {
          "name": {
            "description": "The name of this Algorithm.",
            "type": "string",
            "example": "Address"
          },
          "description": {
            "description": "A description of this algorithm.",
            "type": "string"
          },
          "config": {
            "description": "The configuration of this algorithm.",
            "type": "object",
            "additionalProperties": true
          },
          "framework_id": {
            "description": "Id for the framework of this algorithm.",
            "type": "string"
          },
          "data_class_ids": {
            "description": "The data classes this algorithm to be associated with.",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "make_current_account_owner": {
            "type": "boolean",
            "default": true,
            "description": "Whether the account creating this algorithm must be configured as owner of it."
          },
          "tags": {
            "description": "The tags of this algorithm.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Tag"
            }
          }
        }
      },
      "AlgorithmUpdateRequest": {
        "description": "Parameters to update a masking algorithm.",
        "type": "object",
        "properties": {
          "name": {
            "description": "The name of this Algorithm.",
            "type": "string",
            "example": "Address"
          },
          "description": {
            "description": "A description of this algorithm.",
            "type": "string"
          },
          "config": {
            "description": "The configuration of this algorithm.",
            "type": "object",
            "additionalProperties": true
          }
        }
      },
      "AlgorithmConfigValidateRequest": {
        "description": "Parameters to validate a masking algorithm configuration of a given framework.",
        "type": "object",
        "required": [
          "name",
          "config",
          "framework_id"
        ],
        "properties": {
          "name": {
            "description": "The name of this Algorithm.",
            "type": "string",
            "example": "Address"
          },
          "config": {
            "description": "The configuration of this algorithm.",
            "type": "object",
            "additionalProperties": true
          },
          "framework_id": {
            "description": "Id for the framework of this algorithm.",
            "type": "string"
          },
          "algorithm_id": {
            "description": "The ID or name of an existing mapping algorithm to be updated. This is only needed when validating an existing mapping algorithm with new configuration, and can be omitted when validating non-mapping algorithms or when validating a new algorithm prior to creation.",
            "type": "string"
          }
        }
      },
      "AlgorithmMappingsSyncRequest": {
        "description": "Optional configuration for a mapping-sync job triggered via POST /algorithms/{algorithmId}/mappings/sync.",
        "type": "object",
        "properties": {
          "timeout_ms": {
            "type": "integer",
            "format": "int64",
            "minimum": 1,
            "description": "Override the system default (2 hours) engine export-task poll timeout for this specific sync job. Absent means use the system default.",
            "example": 14400000
          }
        }
      },
      "AlgorithmMappingsImportRequest": {
        "description": "Parameters to import algorithm mappings from a file.",
        "type": "object",
        "required": [
          "fileReferenceId",
          "mappingFileType"
        ],
        "properties": {
          "fileReferenceId": {
            "description": "The reference URI of the uploaded file to be installed. This file should have been uploaded via the /fileUpload endpoint.",
            "type": "string"
          },
          "passphrase": {
            "description": "The passphrase that an exported CSV mapping file was encrypted with. This is only needed if adding mappings that were previously exported.",
            "type": "string"
          },
          "mappingFileType": {
            "description": "The type of the file provided. If PLAINTEXT is chosen, the file is expected to contain newline delimited outputs. If CSV is chosen, the file is expected to conform to RFC4180. Additionally, 2 columns are expected - input and output. The first row of the CSV must be a header.",
            "type": "string",
            "$ref": "#/components/schemas/MappingFileType"
          }
        }
      },
      "MappingFileType": {
        "description": "The type of mapping file.",
        "type": "string",
        "enum": [
          "PLAINTEXT",
          "CSV"
        ]
      },
      "DataClassAddAlgorithmsRequest": {
        "description": "Algorithms to add to a Data Class.",
        "type": "object",
        "required": [
          "algorithm_ids"
        ],
        "properties": {
          "algorithm_ids": {
            "description": "The list of algorithm IDs to remove from this data class.",
            "type": "array",
            "maxItems": 500,
            "uniqueItems": true,
            "items": {
              "type": "string"
            },
            "example": [
              "a638d976-6b7e-43f4-9212-90f4dc6d405c",
              "414ed52c-fa89-455d-9fb9-9c2fa5115f80"
            ]
          }
        }
      },
      "DataClassRemoveAlgorithmsRequest": {
        "description": "Remove algorithms from a Data Class.",
        "type": "object",
        "required": [
          "algorithm_ids"
        ],
        "properties": {
          "algorithm_ids": {
            "description": "The list of algorithm IDs to add to this data class.",
            "type": "array",
            "maxItems": 500,
            "uniqueItems": true,
            "items": {
              "type": "string"
            },
            "example": [
              "a638d976-6b7e-43f4-9212-90f4dc6d405c",
              "414ed52c-fa89-455d-9fb9-9c2fa5115f80"
            ]
          }
        }
      },
      "ListComplianceNodesResponse": {
        "type": "object",
        "properties": {
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ComplianceNode"
            }
          },
          "response_metadata": {
            "$ref": "#/components/schemas/PaginatedResponseMetadata"
          }
        }
      },
      "InstallDiscoveryPolicyResponse": {
        "description": "Summary of objects affected during a discovery policy install. added: net-new objects created. updated: existing objects whose definition changed. skipped: objects left unchanged (already current, upgrade disabled, or reused from built-in).",
        "type": "object",
        "properties": {
          "added": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DiscoveryPolicyInstallResultItem"
            }
          },
          "updated": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DiscoveryPolicyInstallResultItem"
            }
          },
          "skipped": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DiscoveryPolicyInstallResultItem"
            }
          }
        }
      },
      "DiscoveryPolicyInstallResultItem": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "CLASSIFIER",
              "DATA_CLASS",
              "DISCOVERY_POLICY"
            ]
          },
          "name": {
            "type": "string"
          }
        }
      },
      "DiscoveryPolicyCreateRequest": {
        "type": "object",
        "required": [
          "name"
        ],
        "properties": {
          "name": {
            "description": "The name of the discovery policy.",
            "type": "string"
          },
          "description": {
            "description": "The description of the discovery policy.",
            "type": "string"
          },
          "classifier_ids": {
            "description": "The list of classifier IDs to associate with this discovery policy.",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "assignment_threshold": {
            "description": "The assignment threshold for the discovery policy.",
            "type": "integer",
            "format": "int32"
          },
          "make_current_account_owner": {
            "type": "boolean",
            "default": true,
            "description": "Whether the account creating this discovery policy should be configured as its owner."
          },
          "tags": {
            "type": "array",
            "description": "The tags to set on the discovery policy.",
            "items": {
              "$ref": "#/components/schemas/Tag"
            }
          }
        }
      },
      "DiscoveryPolicyUpdateRequest": {
        "description": "Parameters to update a Discovery Policy.",
        "type": "object",
        "properties": {
          "name": {
            "description": "The name of the discovery policy.",
            "type": "string"
          },
          "description": {
            "description": "The description of the discovery policy.",
            "type": "string"
          },
          "assignment_threshold": {
            "description": "The assignment threshold for the discovery policy.",
            "type": "integer",
            "format": "int32"
          }
        }
      },
      "DiscoveryPolicyAddClassifiersRequest": {
        "description": "Classifiers to add to a discovery policy.",
        "type": "object",
        "required": [
          "classifier_ids"
        ],
        "properties": {
          "classifier_ids": {
            "description": "The list of classifier IDs to remove from this discovery policy.",
            "type": "array",
            "maxItems": 500,
            "minItems": 1,
            "uniqueItems": true,
            "items": {
              "type": "string"
            },
            "example": [
              "a638d976-6b7e-43f4-9212-90f4dc6d405c",
              "414ed52c-fa89-455d-9fb9-9c2fa5115f80"
            ]
          }
        }
      },
      "DiscoveryPolicyRemoveClassifiersRequest": {
        "description": "Classifiers to remove from a discovery policy.",
        "type": "object",
        "required": [
          "classifier_ids"
        ],
        "properties": {
          "classifier_ids": {
            "description": "The list of classifier IDs to add to this data class.",
            "type": "array",
            "maxItems": 500,
            "uniqueItems": true,
            "items": {
              "type": "string"
            },
            "example": [
              "a638d976-6b7e-43f4-9212-90f4dc6d405c",
              "414ed52c-fa89-455d-9fb9-9c2fa5115f80"
            ]
          }
        }
      },
      "MappingsStats": {
        "description": "Statistics of the mappings.",
        "type": "object",
        "properties": {
          "total_mappings": {
            "description": "The total number of mappings.",
            "type": "integer",
            "format": "int64",
            "example": 1000
          },
          "unused_mappings": {
            "description": "The number of unused mappings.",
            "type": "integer",
            "format": "int64",
            "example": 100
          }
        }
      },
      "ComplianceNodeLogFileDetails": {
        "description": "Details of a compliance node log file.",
        "type": "object",
        "properties": {
          "file_name": {
            "description": "The name of the log file.",
            "type": "string",
            "example": "6a88560a-7acb-409b-a0d1-341a2d273489.1768936684438.log"
          },
          "file_download_id": {
            "description": "The file download id used to download the log file.",
            "type": "string"
          }
        }
      },
      "CreateSshKeyRequest": {
        "description": "Request body to create an SSH key. If name is omitted, it is derived automatically from the uploaded file's filename.\n",
        "type": "object",
        "required": [
          "file_reference_id"
        ],
        "properties": {
          "name": {
            "type": "string",
            "description": "Optional human-readable name for the SSH key. If omitted, the name is derived from the uploaded file's filename.\n"
          },
          "file_reference_id": {
            "type": "string",
            "description": "The file reference ID of the uploaded SSH key file (obtained via POST /masking-file-uploads)."
          },
          "notes": {
            "type": "string",
            "description": "Optional freeform notes about this SSH key (purpose, rotation policy, source, etc.)."
          },
          "tags": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Tag"
            },
            "description": "Tags to attach to this SSH key."
          }
        }
      },
      "CompliancePasswordVault": {
        "description": "A password vault integration for retrieving credentials at masking time.",
        "type": "object",
        "properties": {
          "id": {
            "description": "The ID of the Password Vault.",
            "type": "string",
            "readOnly": true,
            "example": "e0c07843-6f9b-4f3a-9a1e-02b78d3a4e7c"
          },
          "name": {
            "description": "The name of the password vault. Must be unique across all password vaults.",
            "type": "string",
            "maxLength": 255,
            "example": "SampleVault"
          },
          "vault_type": {
            "description": "The type of password vault.",
            "type": "string",
            "enum": [
              "CYBERARK",
              "HASHICORP",
              "GCP",
              "AZURE"
            ],
            "example": "HASHICORP"
          },
          "config_json": {
            "description": "The configuration properties used to connect to the password vault.",
            "type": "object",
            "additionalProperties": true,
            "example": {
              "host": "12.345.678.90",
              "port": 8200,
              "authType": "TOKEN",
              "token": "hvs.kvIT",
              "namespace": "sample/child"
            }
          },
          "description": {
            "description": "A description of the password vault.",
            "type": "string",
            "maxLength": 1024
          },
          "account_id": {
            "description": "The ID of the account that created this password vault.",
            "type": "integer",
            "format": "int64",
            "readOnly": true
          },
          "account_name": {
            "description": "The name of the account that created this password vault.",
            "type": "string",
            "readOnly": true
          },
          "creation_date": {
            "description": "The date and time when the password vault was created.",
            "type": "string",
            "readOnly": true,
            "format": "date-time",
            "example": "2024-06-01T08:51:34.148000+00:00"
          },
          "tags": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Tag"
            }
          }
        }
      },
      "CompliancePasswordVaultCreateRequest": {
        "description": "Parameters to create a Compliance Password Vault.",
        "type": "object",
        "required": [
          "name",
          "vault_type",
          "config_json"
        ],
        "properties": {
          "name": {
            "description": "The name of the password vault.",
            "type": "string",
            "maxLength": 255,
            "example": "SampleVault"
          },
          "vault_type": {
            "description": "The type of password vault.",
            "type": "string",
            "enum": [
              "CYBERARK",
              "HASHICORP",
              "GCP",
              "AZURE"
            ],
            "example": "HASHICORP"
          },
          "config_json": {
            "description": "The configuration properties used to connect to the password vault.",
            "type": "object",
            "additionalProperties": true,
            "x-dct-toolkit-credential-field": true,
            "example": {
              "host": "12.345.678.90",
              "port": 8200,
              "authType": "TOKEN",
              "token": "hvs.kvIT",
              "namespace": "sample/child"
            }
          },
          "description": {
            "description": "A description of the password vault.",
            "type": "string",
            "maxLength": 1024
          },
          "make_current_account_owner": {
            "description": "Whether the account creating this password vault must be configured as owner of it.",
            "type": "boolean",
            "default": true
          },
          "tags": {
            "description": "The tags for this password vault.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Tag"
            }
          }
        }
      },
      "CompliancePasswordVaultUpdateRequest": {
        "x-jackson-optional-nullable-helpers": true,
        "description": "Parameters to update a Compliance Password Vault.",
        "type": "object",
        "properties": {
          "name": {
            "description": "The name of the password vault. Must be unique across all password vaults.",
            "type": "string",
            "maxLength": 255
          },
          "config_json": {
            "description": "The configuration properties used to connect to the password vault.",
            "type": "object",
            "additionalProperties": true,
            "x-dct-toolkit-credential-field": true,
            "example": {
              "host": "12.345.678.90",
              "port": 8200,
              "authType": "TOKEN",
              "token": "hvs.kvIT",
              "namespace": "sample/child"
            }
          },
          "description": {
            "description": "A description of the password vault.",
            "type": "string",
            "maxLength": 1024,
            "nullable": true,
            "x-is-jackson-optional-nullable": true
          }
        }
      },
      "ComplianceCredentialPath": {
        "description": "A credential path that references a secret within a password vault.",
        "type": "object",
        "properties": {
          "id": {
            "description": "The ID of the Credential Path.",
            "type": "string",
            "readOnly": true,
            "example": "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
          },
          "name": {
            "description": "The name of the credential path.",
            "type": "string",
            "maxLength": 255,
            "example": "ExampleCredentialPath"
          },
          "description": {
            "description": "A description of the credential path.",
            "type": "string",
            "maxLength": 1024
          },
          "password_vault_id": {
            "description": "The ID of the compliance password vault which contains this credential path.",
            "type": "string",
            "example": "e0c07843-6f9b-4f3a-9a1e-02b78d3a4e7c"
          },
          "password_vault_name": {
            "description": "The name of the compliance password vault which contains this credential path.",
            "type": "string",
            "readOnly": true
          },
          "credential_parameters": {
            "description": "The vault-specific parameters for this credential path.",
            "type": "object",
            "additionalProperties": true,
            "example": {
              "engine": "my-secrets",
              "path": "hello",
              "usernameKey": "user",
              "passwordKey": "pwd"
            }
          },
          "account_id": {
            "description": "The ID of the account that created this credential path.",
            "type": "integer",
            "format": "int64",
            "readOnly": true
          },
          "account_name": {
            "description": "The name of the account that created this credential path.",
            "type": "string",
            "readOnly": true
          },
          "creation_date": {
            "description": "The date and time when the credential path was created.",
            "type": "string",
            "readOnly": true,
            "format": "date-time",
            "example": "2024-06-01T08:51:34.148000+00:00"
          },
          "tags": {
            "description": "The tags for this credential path.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Tag"
            }
          }
        }
      },
      "ComplianceCredentialPathCreateRequest": {
        "description": "Parameters to create a Compliance Credential Path.",
        "type": "object",
        "required": [
          "name",
          "password_vault_id",
          "credential_parameters"
        ],
        "properties": {
          "name": {
            "description": "The name of the credential path.",
            "type": "string",
            "maxLength": 255,
            "example": "ExampleCredentialPath"
          },
          "description": {
            "description": "A description of the credential path.",
            "type": "string",
            "maxLength": 1024
          },
          "password_vault_id": {
            "description": "The ID of the password vault which contains this credential path.",
            "type": "string",
            "example": "e0c07843-6f9b-4f3a-9a1e-02b78d3a4e7c"
          },
          "credential_parameters": {
            "description": "The vault-specific parameters for this credential path.",
            "type": "object",
            "additionalProperties": true,
            "example": {
              "engine": "my-secrets",
              "path": "hello",
              "usernameKey": "user",
              "passwordKey": "pwd"
            }
          },
          "tags": {
            "description": "The tags to apply to this credential path at creation.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Tag"
            }
          },
          "make_current_account_owner": {
            "description": "Whether to make the current account the owner of this credential path.",
            "type": "boolean",
            "default": true
          }
        }
      },
      "ComplianceCredentialPathUpdateRequest": {
        "x-jackson-optional-nullable-helpers": true,
        "description": "Parameters to update a Compliance Credential Path.",
        "type": "object",
        "properties": {
          "name": {
            "description": "The name of the credential path.",
            "type": "string",
            "maxLength": 255
          },
          "description": {
            "description": "A description of the credential path.",
            "type": "string",
            "maxLength": 1024,
            "nullable": true,
            "x-is-jackson-optional-nullable": true
          },
          "credential_parameters": {
            "description": "The vault-specific parameters for this credential path.",
            "type": "object",
            "additionalProperties": true
          }
        }
      },
      "UpdateSshKeyRequest": {
        "description": "Request body to update an SSH key. All fields are independently optional.",
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "New name for the SSH key. When omitted, the name is not changed even when file_reference_id is also provided. Must not be blank.\n"
          },
          "notes": {
            "type": "string",
            "description": "Freeform notes about this SSH key. Replaces existing notes when provided."
          },
          "file_reference_id": {
            "type": "string",
            "description": "The file_reference_id of a previously uploaded file via POST /masking-file-uploads. When provided, replaces the underlying key file. The name is not automatically updated from the new file's filename; provide name explicitly to rename.\n"
          }
        }
      },
      "SshKeyResponse": {
        "description": "An SSH key stored in DCT.",
        "type": "object",
        "required": [
          "id",
          "name",
          "file_reference_id"
        ],
        "properties": {
          "id": {
            "type": "string",
            "description": "The unique ID of the SSH key."
          },
          "name": {
            "type": "string",
            "description": "The name of the SSH key."
          },
          "notes": {
            "type": "string",
            "description": "Freeform notes about this SSH key."
          },
          "file_reference_id": {
            "type": "string",
            "description": "The file reference ID of the underlying key file."
          },
          "created_date": {
            "type": "string",
            "format": "date-time",
            "description": "The date and time when the SSH key was created."
          },
          "tags": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Tag"
            },
            "description": "Tags attached to this SSH key."
          }
        }
      },
      "ListSshKeysResponse": {
        "description": "A list of SSH keys.",
        "type": "object",
        "properties": {
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SshKeyResponse"
            }
          },
          "response_metadata": {
            "$ref": "#/components/schemas/PaginatedResponseMetadata"
          }
        }
      }
    },
    "securitySchemes": {
      "ApiKeyAuth": {
        "type": "apiKey",
        "in": "header",
        "name": "Authorization"
      }
    },
    "requestBodies": {
      "DeleteTags": {
        "description": "The parameters to delete tags",
        "content": {
          "application/json": {
            "schema": {
              "x-body-name": "environment",
              "$ref": "#/components/schemas/DeleteTag"
            },
            "examples": {
              "delete_all_tags": {
                "description": "Delete all tags for given object - No request body required",
                "summary": "Delete all tags",
                "value": {}
              },
              "delete_tags_by_key": {
                "description": "Delete all tags for given object with matching key",
                "summary": "Delete tags by key",
                "value": {
                  "key": "key-1"
                }
              },
              "delete_tags_by_key_value": {
                "description": "Delete tag for given object with matching key and value",
                "summary": "Delete a tag by key & value",
                "value": {
                  "key": "key-1",
                  "value": "value-1"
                }
              },
              "delete_multiple_tags_by_key_value": {
                "description": "Delete tags for given list of tags with matching key and value",
                "summary": "Delete multiple tags by key & value",
                "value": {
                  "tags": [
                    {
                      "key": "key-1",
                      "value": "value-1"
                    },
                    {
                      "key": "key-2",
                      "value": "value-2"
                    }
                  ]
                }
              }
            }
          }
        }
      },
      "SearchBody": {
        "x-skip-codegen-attr": "description",
        "description": "A request body containing a filter expression. This enables searching\nfor items matching arbitrarily complex conditions. The list of\nattributes which can be used in filter expressions is available\nin the x-filterable vendor extension.\n\n# Filter Expression Overview\n**Note: All keywords are case-insensitive**\n\n## Comparison Operators\n| Operator | Description | Example |\n| --- | --- | --- |\n| CONTAINS | Substring or membership testing for string and list attributes respectively. | field3 CONTAINS 'foobar', field4 CONTAINS TRUE  |\n| IN | Tests if field is a member of a list literal. List can contain a maximum of 100 values | field2 IN ['Goku', 'Vegeta'] |\n| GE | Tests if a field is greater than or equal to a literal value | field1 GE 1.2e-2 |\n| GT | Tests if a field is greater than a literal value | field1 GT 1.2e-2 |\n| LE | Tests if a field is less than or equal to a literal value | field1 LE 9000 |\n| LT | Tests if a field is less than a literal value | field1 LT 9.02 |\n| NE | Tests if a field is not equal to a literal value | field1 NE 42 |\n| EQ | Tests if a field is equal to a literal value | field1 EQ 42 |\n\n## Search Operator\nThe SEARCH operator filters for items which have any filterable\nattribute that contains the input string as a substring, comparison\nis done case-insensitively. This is not restricted to attributes with\nstring values. Specifically `SEARCH '12'` would match an item with an\nattribute with an integer value of `123`.\n\n## Logical Operators\nOrdered by precedence.\n| Operator | Description | Example |\n| --- | --- | --- |\n| NOT | Logical NOT (Right associative) | NOT field1 LE 9000 |\n| AND | Logical AND (Left Associative) | field1 GT 9000 AND field2 EQ 'Goku' |\n| OR | Logical OR (Left Associative) | field1 GT 9000 OR field2 EQ 'Goku' |\n\n## Grouping\nParenthesis `()` can be used to override operator precedence.\n\nFor example:\nNOT (field1 LT 1234 AND field2 CONTAINS 'foo')\n\n## Literal Values\n| Literal      | Description | Examples |\n| --- | --- | --- |\n| Nil | Represents the absence of a value | nil, Nil, nIl, NIL |\n| Boolean | true/false boolean | true, false, True, False, TRUE, FALSE |\n| Number | Signed integer and floating point numbers. Also supports scientific notation. | 0, 1, -1, 1.2, 0.35, 1.2e-2, -1.2e+2 |\n| String | Single or double quoted | \"foo\", \"bar\", \"foo bar\", 'foo', 'bar', 'foo bar' |\n| Datetime | Formatted according to [RFC3339](https://datatracker.ietf.org/doc/html/rfc3339) | 2018-04-27T18:39:26.397237+00:00 |\n| List | Comma-separated literals wrapped in square brackets | [0], [0, 1], ['foo', \"bar\"] |\n\n## Limitations\n- A maximum of 8 unique identifiers may be used inside a filter expression.\n",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/SearchBody"
            },
            "examples": {
              "nested": {
                "description": "An example of a nested Object comparison testing that at least one repository has a\nversion which is equal to 19.0.0.\n",
                "summary": "Nested Object Comparison",
                "value": {
                  "filter_expression": "repositories CONTAINS {version eq '19.0.0'}"
                }
              },
              "relative": {
                "description": "An example of a relative comparison testing that field1 has a\nvalue which is less than 123.\n",
                "summary": "Relative comparison",
                "value": {
                  "filter_expression": "field1 LE 123"
                }
              },
              "nil": {
                "description": "An example of using nil to test for the absence of a value for field2.\n",
                "summary": "Absence of an attribute value",
                "value": {
                  "filter_expression": "field2 EQ NIL"
                }
              },
              "non-nil": {
                "description": "An example of using nil to test for the existence of a value for field2.\n",
                "summary": "Existence of an attribute value",
                "value": {
                  "filter_expression": "field2 NE NIL"
                }
              },
              "contains": {
                "description": "An example of using the 'CONTAINS' operator to check if\nfield2 contains the string 'foo'. If field2 is string valued\nthen this is checking if 'foo' is a substring of field2. If\nfield2 is a list of strings then this is checking if 'foo'\nis a member of the list.\n",
                "summary": "Use of the CONTAINS operator",
                "value": {
                  "filter_expression": "field2 CONTAINS 'foo'"
                }
              },
              "in": {
                "description": "An example of using the 'IN' operator to check if field1\nis an element of a list literal.\n",
                "summary": "Use of the IN operator",
                "value": {
                  "filter_expression": "field1 IN [1, 2, 3]"
                }
              },
              "search": {
                "description": "An example of using the 'SEARCH' operator to retrieve all elements\nfor which 'foo' is a substring of a filterable attribute.\n",
                "summary": "Use of the SEARCH operator",
                "value": {
                  "filter_expression": "SEARCH 'foo'"
                }
              },
              "parenthesis": {
                "description": "An example of parenthesis being used to group operators & override\noperator precedence.\n",
                "summary": "Overriding operator precedence",
                "value": {
                  "filter_expression": "field1 LT 1234 AND (field2 CONTAINS 'foo' OR field3 CONTAINS 'bar')"
                }
              }
            }
          }
        }
      }
    },
    "responses": {
      "BadRequestError": {
        "description": "Bad request -- the client supplied an invalid or unacceptable value."
      },
      "NotFoundError": {
        "description": "Not found -- the requested resource does not exist."
      },
      "ConflictError": {
        "description": "Conflict -- the resource already exists or is in a conflicting state."
      },
      "NotAcceptableError": {
        "description": "Not acceptable -- the requested representation (Accept header) is not supported."
      },
      "UnsupportedMediaTypeError": {
        "description": "Unsupported media type -- the request body content type is not supported."
      }
    }
  },
  "security": [
    {
      "ApiKeyAuth": []
    }
  ]
}